Какой URL передать в wp_remote_get для загрузки тела превью текущей записи?
В приведенном ниже коде я пытаюсь получить ссылку на содержимое полностью отрендеренного превью текущей записи...
$response = wp_remote_retrieve_body(wp_remote_get('http://localhost/mysite/test-post/?preview=true&preview_id=28&preview_nonce=640bc54ca4'));
$post->post_content = $response;
Я просто передаю его в $post->post_content, чтобы можно было легко просмотреть.
Вот часть того, что возвращается...
<body id="error-page">
<p>У вас нет прав для просмотра черновиков.</p></body>
</html>
Я вошел в систему как администратор, поэтому очевидно, что я неправильно вызываю превью. Как правильно передать URL в wp_remote_get, чтобы получить раздел body потока превью?
Когда я использую...
$post->post_content = "<pre>".$response['body']."</pre>";
Я получаю
<pre><</pre>

URL в порядке, вам нужно добавить куки, которые аутентифицируют вас как пользователя, которому разрешено просматривать превью. По сути, это отправка заголовков. Я бы начал с HTTP API (WordPress Codex), поискав метод для добавления дополнительных HTTP-заголовков и установки ваших куки.
В противном случае — потому что, вероятно, это несколько сложно — вы можете заглянуть внутрь кода превью, чтобы увидеть, можете ли вы предоставить хук для управления доступом к превью. Если возможно, вы можете добавить какой-нибудь секретный параметр в URL, который позволит вам просматривать любую страницу без необходимости входа в систему (и необходимости в nonce, так как он также требуется для превью).
Результат либо первого, либо второго подхода практически одинаков, единственное отличие будет в том, как его вызвать.
