Невозможно изменить информацию заголовка - заголовки уже отправлены... Проблема WordPress
Я встречаю эту ошибку. и я понятия не имею об этом.
Невозможно изменить информацию заголовка - заголовки, уже отправленные (вывод началось с /home/ben 213/public_html/wp-content/themes/Bendaggers/functions.php:9) в /home/ben 213/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;
Мне сложно понять это, так как я не программист. что кажется неправильным?
любезно помогите мне пожалуйста...
Ответы
Ответ 1
Ваша тема печатает вывод (текст) в браузере, но по какой-то причине WordPress перенаправляет пользователя (с wp_redirect) в сторону от этой страницы до отображения всей страницы. Вы не можете начать печать вывода, а затем перенаправить, или вы получите сообщение об ошибке. Это то, о чем говорил Пол Грим в своих комментариях.
Кен Уайт прокомментировал ссылку на сообщение с аналогичной проблемой. Я исправил это в своем собственном опыте, буферизируя вывод script.
В вашей теме functions.php
файл (который включается каждый раз при загрузке ваших страниц темы), поставьте следующее:
//allow redirection, even if my theme starts to send output to the browser
add_action('init', 'do_output_buffer');
function do_output_buffer() {
ob_start();
}
Теперь, даже если часть вашей темы начинает отправлять вход в браузер, PHP не будет отправлять этот текст до тех пор, пока страница не будет полностью загружена, что позволяет WordPress перенаправлять пользователей, если необходимо, как часть своей собственной логики.
Ответ 2
Если вы пытаетесь перенаправить на другую страницу с вашей текущей страницы, где вы наложили условие или без каких-либо условий, используйте этот код.
Например, у вас есть две страницы A.php и B.php, и в настоящее время вы находитесь на A.php, где вы хотите перейти на другую страницу B.php, нажав кнопку BOTTON.
if(isset($_POST['save_btn']))
{
//write some of your code here, if necessary
echo'<script> window.location="B.php"; </script> ';
}