从子主题中删除父主题中的操作

时间:2018-04-06 作者:Ray Macz

我的问题是如何从子主题中删除父主题中的动作挂钩?来自父主题的代码:

if ( ! function_exists( \'wm_menu_social\' ) ) {
    function wm_menu_social() {
        get_template_part( \'template-parts/menu\', \'social\' );
        // if i place a comment here, social links won\'t display    
    }
} 
    add_action( \'tha_header_top\', \'wm_menu_social\', 130 );
我尝试从我的子主题中分别添加这3个可能的add\\u action(),但没有成功:

add_action( \'after_setup_theme\', \'wm_remove_menu_social\', 0);
//add_action( \'init\', \'wm_remove_menu_social\');
//add_action( \'wp_head\', \'wm_remove_menu_social\');

function wm_remove_menu_social() { 
   remove_action( \'tha_header_top\', \'wm_menu_social\' );
   echo "TESTER"; // this prints but remove action doesnt work.
}
如上所示,我尝试向父级添加注释&;它成功了。但是,我们都知道,未来的更新不应触及父主题。我搜索了这个问题,但似乎什么都没找到。抱歉,伙计们,我对Wordpress API还是有点陌生。我已经创建了很少的基本WP插件。提前谢谢。

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

的优先级参数add_actionremove_action 需要保持一致。自从wm_menu_social 被钩住了130 您需要指定130 移除时:

remove_action( \'tha_header_top\', \'wm_menu_social\', 130 );

结束

相关推荐

theme functions (hooks)

WordPress已经提出了这个问题,但没有答案。我只是想在这个论坛上试试,如果有人知道的话,因为我也有同样的问题。要使用jquery滑块编辑我的主题,如何转到该脚本?,显示“$主题->挂钩(\'content\\u before\');”在content div标记中。有人能帮忙吗?我的主题索引。php包含以下内容<div id=\"main\"> <?php $theme->hook(\'main_before\'); ?> &#x