我的问题是如何从子主题中删除父主题中的动作挂钩?来自父主题的代码:
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插件。提前谢谢。
最合适的回答,由SO网友:Jacob Peattie 整理而成
的优先级参数add_action
和remove_action
需要保持一致。自从wm_menu_social
被钩住了130
您需要指定130
移除时:
remove_action( \'tha_header_top\', \'wm_menu_social\', 130 );