Intereting Posts
Как конвертировать комментарии WordPress к ответам bbPress Невозможно синхронизировать изменения в woocommerce Vimeo Feed дал мертвую ссылку с RSS-виджетами? Отключить разбиение на страницы в столбце Как печатать перенаправленные строки строки запроса на страницу? Внешний вид -> Меню -> Структура меню: добавление простого HTML-кода в качестве элемента Импортировать все медиа, на которые ссылаются сообщения Как i18n текст, поступающий из db или из внешнего источника форма пользовательского поиска для пользовательских сообщений Добавить пользовательские мета-поля при создании пользователя Предотвратите неприменение позиции меню из всех страниц Истекает вторичная роль пользователя через X дней после его выделения Просмотрите семейное древо и найдите избранное изображение Остановить автоматическое форматирование в коротких кодах Выполнение Javascript в плагине

Какой 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>You do not have permission to preview drafts.</p></body> </html> 

Я зарегистрировался как администратор, так что, очевидно, я вызываю предварительный просмотр неправильно. Как передать URL-адрес в wp_remote_get, чтобы получить раздел тела в потоке предварительного просмотра?

Когда я использую …

 $post->post_content = "<pre>".$response['body']."</pre>"; 

я получил

 <pre><</pre> 

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

В противном случае – потому что, вероятно, это несколько сложно – вы можете заглянуть внутрь кода предварительного просмотра, чтобы увидеть, можете ли вы предоставить крючок для контроля доступа к превью. Если возможно, вы можете добавить какой-то секретный параметр в URL-адрес, который позволит вам просмотреть любую страницу без необходимости входа в систему (а также необходимость использования nonce, поскольку она также должна быть предоставлена ​​для предварительного просмотра).

Результат либо первого, либо второго подхода совершенно одинаковый, единственное различие заключается в том, как вызвать его.