I want pass current user cookies in wp_remote_get function to get a Draft Post Preview page content.
I check already the questions:
- What URL do you pass to wp_remote_get to load the body of the current post’s preview?
- How can I call “preview post” from wp_remote_get with authentication?
But in either of them appears how I can get the cookies to the pass it to wp_remote_get function.
I assume I can do what I want passing the cookies to wp_remote_get function, here in WordPress documentation mention how WordPress stores the cookies but how can I get them taking in care they use a hash value in the cookie name?
What I want to do is given a Post ID get the content of the WordPress Post view page and analyse it. For the already published Posts all works fine, but for Draft Posts I get that the page doesn’t exist. Here is the code simplified:
(...)
$post_permalink = get_permalink($post_id);
$response = wp_remote_get($post_permalink);
$whole_post_page = $response['body'];
(...)
This code is executed when the owner of the Post is editing it, so the user is already authenticated and the request is for a local Post. How I can accomplish that wp_remote_get returns me the Post Preview page content? as WordPress does when I go to the preview link in my browser.
Thanks in advanced.
I rarely deal with cookies and not sure about complete mechanics there, but here is basic working example of passing current user’s cookies to retrieve preview page source:
What’s the scenario here, you’re trying to retrieve a draft post preview from your current installation, located on another, right?
Are you authenticating yourself prior to retrieving?
I’m thinking that you would need to use,
Then you might need to also run,
With
wp_set_current_user
possibly being needed to actually access the preview (?). I’ll say I’m not 100% sure on that, but I believe its necessary for the post edit screen, so being an extension of that, one would assume so. Haven’t had a chance to look around core files yet for confirmation.That should set the cookies for you and allow you to view your preview, which means you theoretically don’t have to pass anything into the cookie array parameter as they’re already set.
Lets see your code too!