Intereting Posts
Проблема с обработкой произвольной формы Показывать только сообщения с датой сегодняшнего дня или в будущем (т. Е. Не показывать прошлые сообщения)? Запрос Пользовательский тип сообщения с пользовательским полем таксономии Как устаревать устаревшую версию API? Как получить WP_Object, который находится внутри массива другого массива Выделите условия навигационного меню Миграция настройки Multisite в другой домен Если тест для «has_nav_menu ()» не возвращает эхо, когда не существует меню Как я могу исправить проблемы с тем, что пользователи не могут публиковать и отправлять их только после проверки установки Multisites? Хранение временных данных для настраиваемого типа сообщений Можно ли скрыть страницу, если нет сообщений от CPT? может потребоваться «themefolder / includes / widgets.php» в «themefolder / functions.php», но widgets.php не запускается Неопределенный индекс: проблема с плагином действий Включить только путь домена в многопользовательской сети Справка с пользовательским запросом WordPress и расширенными настраиваемыми полями плагина

Запретить отправку заголовков

Как я могу предотвратить отправку заголовков?

Я пытаюсь перечислить (WordPress) сообщения в блоге на сайте, отличном от WordPress (оба сайта используют общедоступную веб-папку).

Я хочу запустить следующий код PHP, чтобы получить сообщения в блоге:

<ul class='list-unstyled'> <?php define('WP_USE_THEMES', false); require($_SERVER['DOCUMENT_ROOT'] . '/blog/wp-load.php'); query_posts('showposts=5'); while (have_posts()): the_post(); ?> <li><i class='glyphicon glyphicon-menu-right'></i> <h4><a href="<?php the_permalink(); ?>" class="myred text-main"><?php the_title(); ?></a></h4> <p><?php the_date(); ?> | Category: <?php the_category(','); ?> | <?php the_tags(); ?></p> </li> <?php endwhile; ?> </ul> 

Тем не менее, похоже, что этот код отправляет заголовки полезных данных клиенту. Есть ли способ получить сообщения в блоге без отправки заголовков?

Solutions Collecting From Web of "Запретить отправку заголовков"

«Заголовки уже отправлены» не является ошибкой WordPress, это сообщение об ошибке обработки PHP. Хорошее объяснение здесь; Уровеньвыше:

Я подозреваю, что это может быть вызвано некоторыми символами (вероятно, пробелами), отправленными перед вашим сегментом кода <?php . Даже пробелы (или символы [форматирование кода]) вызовут ошибку.

И, возможно, переместите свой код <ul> чуть выше цикла while.

Вывод страницы начинается с вашего php. Посмотрите на буферизацию вывода .

Поместите вызов функции ob_start () перед любым HTML-файлом в файл и вызовом ob_get_clean () после устранения проблемы.

Это будет выглядеть примерно так:

 <?php define('WP_USE_THEMES', false); require($_SERVER['DOCUMENT_ROOT'] . '/blog/wp-load.php'); //Buffer output instead of immediately sending to the client //make sure there is only PHP here ob_start(); ?> //templating stuff... <ul class='list-unstyled'> <?php query_posts('showposts=5'); while (have_posts()): the_post(); ?> <li><i class='glyphicon glyphicon-menu-right'></i> <h4><a href="<?php the_permalink(); ?>" class="myred text-main"><?php the_title(); ?></a></h4> <p><?php the_date(); ?> | Category: <?php the_category(','); ?> | <?php the_tags(); ?></p> </li> <?php endwhile; ?> </ul> //More templating stuff... <?php ob_get_clean(); //output starts ?> 

Кроме того, как указал Рик Хеллвелл в своем ответе , убедитесь, что файл начинается с ничего, кроме открывающего <?php . Нет пробела, а не HTML, ничего.

Я решил свою проблему, установив плагин REST API, затем вызывая конечную точку с моего сайта, отличного от WordPress, кэшируя результаты, а затем отображая список блога из результатов моего кеша.