0

I am trying to remove an action from the parent theme header but I am still not getting any success, here is the class

<?php

class theme_Header_Layout{
    public function __construct() {

        add_action('theme_header_layout_1_branding', array( $this, 'get_site_branding' ), 10 );

        add_action('theme_header_layout_1_navigation', array( $this, 'get_site_navigation' ), 10 );

        add_action('theme_site_header_icon', array( $this, 'get_site_header_icon' ), 10 );

        add_action('theme_site_header', array( $this, 'site_skip_to_content' ), 5 );

         *
         *
         *
        add_action('theme_site_header', array( $this, 'site_hero_sections' ), 9999 );
    }
    *
    *
    *
    public function site_hero_sections(){...}
    function hero_block_heading() {...}
    private function alowed_tags(){...}
}

$theme_header_layout = new theme_Header_Layout();

And this is what I have on my theme-child functions.php

<?php

    add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
    function theme_enqueue_styles() {
        wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
    }

    add_action( 'wp_head', 'remove_site_hero_sections');
    function remove_site_hero_sections() {
        global $theme_header_layout;
        remove_action('theme_site_header', array($theme_header_layout, 'site_hero_sections'));
    }

I've been trying changing the priority inside add_action or remove_action, I've also tried changing the add_action('wp_head'...) to 'theme_site_header' but I am still getting the site_hero_sections on my child theme, what am I doing wrong?

2
  • 1
    "I've been trying changing the priority inside" - so with the remove_action(), did you try with 9999? Because when removing an action, the priority needs to match the one used when adding the action.
    – Sally CJ
    Feb 17 at 2:09
  • 1
    Oh wow that's it I guess I probably missed or added an additional "9" but I just copied and pasted the exact same number and now it is working lol, sorry for bothering you, it is now working as expected, thanks!
    – AdrobaT
    Feb 17 at 3:12
0

Well, all I needed to fix the issue was to add the exact same priority to the remove_action and it worked pretty well, thanks to Sally CJ answer

add_action( 'wp_head', 'remove_site_hero_sections');
    function remove_site_hero_sections() {
        global $theme_header_layout;
        remove_action('theme_site_header', array($theme_header_layout, 'site_hero_sections'), 9999);
    }
1
  • I'm glad I could help, but that wasn't an answer.. 🙂
    – Sally CJ
    Feb 17 at 9:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.