skip to Main Content

I would want to show some HTML code in my WordPress page. So in my child theme functions.php, I have written an action like this one:

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

    echo $html; 
});

However, a warning is displayed when I go to the back-office (admin) login page:

Warning: Cannot modify header information – headers already sent by
(output started at
/var/www/html/wp-content/themes/hello-elementor-child/functions.php:88)
in /var/www/html/wp-includes/pluggable.php on line 1296

Warning: Cannot modify header information – headers already sent by
(output started at
/var/www/html/wp-content/themes/hello-elementor-child/functions.php:88)
in /var/www/html/wp-includes/pluggable.php on line 1299

My question is: is it the good action to hook? Or should I use another one than wp?

3

Answers


  1. From my understanding wordpress sends headers after wp so this is the wrong place, since you cannot echo before.

    Login or Signup to reply.
  2. Warning: Cannot modify header information – headers already sent by

    To solve this add the below code in theme function.php file

    ob_start();

    It will remove your error.

    Login or Signup to reply.
  3. There is no standardized hook/action for inserting a html in a theme. Every theme could handle this differently, some might not even have a hook.

    But if you must the wp_head hook will work, but it will not be valid HTML.

    The better thing todo is check the documentation of your thema. Or make a child-theme and adjust the tempaltes) you need

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search