Невозможно изменить информацию заголовка — заголовки уже отправлены… Ошибка Wordpress

Я сталкиваюсь с этой ошибкой. и я понятия не имею, как с этим справиться.

Невозможно изменить информацию заголовка — заголовки уже отправлены (вывод начался в /home/ben213/public_html/wp-content/themes/Bendaggers/functions.php:9) в /home/ben213/public_html/wp-includes/pluggable.php в строка 934

моя строка файла Functions.php № 9:

<?php if(function_exists('register_sidebar'))register_sidebar();?>

пока мой pluggable.php # 934

function wp_redirect ($ location, $ status = 302) { global $ is_IIS;

$location = apply_filters('wp_redirect', $location, $status);
$status = apply_filters('wp_redirect_status', $status, $location);

if ( !$location ) // allows the wp_redirect filter to cancel a redirect
    return false;

$location = wp_sanitize_redirect($location);

if ( !$is_IIS && php_sapi_name() != 'cgi-fcgi' )
    status_header($status); // This causes problems on IIS and some FastCGI setups

header("Location: $location", true, $status);}
endif;

Мне трудно понять это, так как я не программист. что кажется неправильным? будь добр помоги мне пожалуйста...


person Ben Daggers    schedule 11.09.2011    source источник
comment
спасибо, Сет, за заботу о моих принятых рейтингах. вы нам очень помогли!   -  person Ben Daggers    schedule 12.09.2011
comment
@ Бен, отметьте ответы, которые помогли вам, на каждый из ваших предыдущих вопросов. Это маленькая галочка рядом с рейтингом. Номер.   -  person KarlP    schedule 13.09.2011
comment
возможный дубликат заголовков, уже отправленных PHP   -  person Jocelyn    schedule 25.03.2013


Ответы (4)


Я дам 99,9%, что эта проблема возникает из-за нежелательных пробелов где-то перед первым "<?" и после последнего "?>" в php-скрипте. Редактирование сохранения файла в другой кодировке также может добавить такие пробелы (из-за спецификации). Так что это не всегда зависит от вашей внимательности. Используйте Notepad2 или что-то подобное для редактирования кода, а лучше попробуйте использовать встроенный онлайн-редактор тем в консоли администратора. Попробуйте найти и устранить все нежелательные пробелы в php-файле каждой темы и сохранить эти файлы заново.

person mishau    schedule 12.09.2011
comment
Вероятно, это так. Я не знаю насчет PHP, но при использовании JSP учитываются даже символы новой строки после директив... - person KarlP; 13.09.2011
comment
Это было решением для меня. Большое спасибо. В одном из моих файлов класса у меня была лишняя строка после ?›, я удалил, и я снова стал волшебником! - person kyle; 06.05.2014

В моем pluggable.php найдите функцию wp_redirec и в ней замените

header("Location: $location", true, $status);

с участием

echo "<meta http-equiv='refresh' content='0;url=$location' />";
person Divyesh Prajapati    schedule 26.12.2012

Я ничего не знаю о wordpress, но я знаю кое-что о http... Может быть, это поможет.

Ошибка возникает из-за того, что вы пытаетесь изменить поле заголовка, хотя заголовки уже были отправлены. Заголовки отправляются (автоматически) при первом написании фактического содержимого страницы.

(http-заголовки являются частью http-протокола, который отправляет html-страницы, а не частью html-файла. Такие вещи, как коды состояния (404 и т. д.), кодировки и т. д., отправляются в заголовках. Итак, чтобы начать писать фактической странице, заголовки должны быть написаны первыми.)

Похоже, что тема (?) используется слишком рано или плагин "перенаправление" активируется слишком поздно...

Попробуйте переместить «register_sidebar» до тех пор, пока вы не проверите, нужно ли делать перенаправление.

РЕДАКТИРОВАТЬ:

Читая другие вопросы, я могу сказать, что вам нужно научиться программировать или использовать другой инструмент. Найдите одну-две книги и дайте ей время. PHP — это довольно смешанный язык, поэтому он не совсем идеален для обучения программированию, но, поскольку он вам, кажется, нужен, ну вот и все.

Удачи.

person KarlP    schedule 11.09.2011
comment
спасибо Карл. К сожалению, я не программист, но я немного знаю html css. если честно, я вообще ни черта не понимаю в pluggable.php, когда вы говорите «Попробуйте переместить регистр_сайдбар» до тех пор, пока вы не проверите, нужно ли делать перенаправление. Как мне это сделать? - person Ben Daggers; 12.09.2011
comment
Каким-то образом pluggable.php выполняется. И каким-то образом functions.php выполняется ДО этого. Попытайтесь выяснить, почему это так, и измените его так, чтобы строка, регистрирующая боковую панель, выполнялась ПОСЛЕ строки в pluggable.php. - person KarlP; 12.09.2011
comment
Но я думаю, что вы действительно находитесь в глубоких водах. Если вы скопировали/вставили много кода, который вы не понимаете, то, вероятно, будет хорошей идеей удалить его и попытаться начать с самого начала с того, что вы ДЕЙСТВИТЕЛЬНО понимаете. - person KarlP; 12.09.2011

Вот что решило проблему для меня! В строке «function.php» 9 ', которая, вероятно, выглядит как

 ?>

 <?php

уберите пробелы, чтобы получилось так:

 ?>
 <?php
person user1961008    schedule 09.01.2013