Я встречаю эту ошибку. и я понятия не имею об этом.
Невозможно изменить информацию заголовка - заголовки, уже отправленные (вывод началось с /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;
Мне сложно понять это, так как я не программист. что кажется неправильным? любезно помогите мне пожалуйста...
Ваша тема печатает вывод (текст) в браузере, но по какой-то причине 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 перенаправлять пользователей, если необходимо, как часть своей собственной логики.
Если вы пытаетесь перенаправить на другую страницу с вашей текущей страницы, где вы наложили условие или без каких-либо условий, используйте этот код. Например, у вас есть две страницы 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> ';
}
pluggable.php
? Почему у вас это есть? Похоже, он должен быть включен передfunctions.php
поскольку он пытается установить заголовки HTTP, и они должны быть установлены до того, как вы начнете выводить HTML.