2016-02-26 3 views
1

Каждый раз, когда RSS подача (то есть: (www.example.com/feed/) на моем сайте WordPress называется я получаю PHP E_WARNING:Wordpress Ленты: PHP Предупреждение Не удается изменить информацию в заголовке - заголовки уже отправлены

не удается изменить информацию в заголовке - заголовки уже прислал (выход начался в /var/www/vhosts/(...)/httpdocs/wp-includes/functions.php:3464)

Я сделал свое исследование и большинство советов указывает на пустое пространство в начале и конце PHP-файлов. Но это основной файл wordpress.

ob_end_flush происходит на линии 3464:

function wp_ob_end_flush_all() { 
    $levels = ob_get_level(); 
    for ($i=0; $i<$levels; $i++) 
     ob_end_flush(); 
} 

Я заметил, что это functions.php не было закрытие ?>, но учитывая, что это ядро ​​WordPress файл я не подвергаю сомнению это слишком далеко :)

+0

Эти ошибки обычно не имеют ничего с основными файлами. Я бы посмотрел в теме 'functions.php'file, чтобы увидеть, есть ли что-то там, связанное с фидом (' add_feed() ',' add_action ('rss2_item', ...); 'или подобное действие, так как вы сказали, что это происходит только на вашем фиде). –

ответ

0

Эта ошибка возникает из-за того, что, когда вы используете функцию заголовка, и php получает выход перед этой функцией, тогда php показывает это предупреждение.

поэтому убедитесь, что вы не используете «эхо» или не вызываете какую-либо функцию перед функцией заголовка, которая дает результат. если так, пожалуйста, удалите это.

Есть подсказка для устранения такой ошибки.

удалите все пустые строки и пробелы перед файлом. и положить

ob_start(); в начале файла.

Я надеюсь, что сработает для вас.

Спасибо!

Смежные вопросы