Действие Wordpress "wp": невозможно изменить информацию заголовка

Я бы хотел показать HTML-код на моей странице WordPress. Итак, в моей дочерней теме functions.php, Я написал такое действие:

add_action('wp', function() {
    if(is_admin()) {
        return;
    }
    
    $html = '<div class="home_immodvisor">';    

    echo $html; 
});

Однако, когда я перехожу на страницу входа в бэк-офис (администратор), отображается предупреждение:

Предупреждение: невозможно изменить информацию заголовка - заголовки уже отправлены (вывод начался с /var/www/html/wp-content/themes/hello-elementor-child/functions.php:88) в / var / www / html / wp- включает /pluggable.php в строке 1296

Предупреждение: невозможно изменить информацию заголовка - заголовки уже отправлены (вывод начался с /var/www/html/wp-content/themes/hello-elementor-child/functions.php:88) в / var / www / html / wp- включает /pluggable.php в строке 1299

У меня вопрос: это хорошее действие, чтобы зацепить? Или я должен использовать другой, чем wp?

3 ответа

Насколько я понимаю, wordpress отправляет заголовки после wp, поэтому это неправильное место, так как вы не можете эхо раньше.

Не существует стандартизированной ловушки / действия для вставки html в тему. Каждая тема могла бы справиться с этим по-своему, у некоторых даже не было крючка.

Но если вы должны wp_head хук будет работать, но это не будет действительный HTML.

Лучше всего проверить документацию вашей темы. Или сделайте дочернюю тему и настройте темпальты) вам нужно

Предупреждение: невозможно изменить информацию заголовка - заголовки уже отправлены

Чтобы решить эту проблему, добавьте приведенный ниже код в файл темы function.php.

ob_start();

Это устранит вашу ошибку.

Другие вопросы по тегам