问题描述
我正在尝试删除一个使用子主题的 elegant-themes 主题的主题操作。当我在父主题 functions.php 中的任何位置删除 add_action 代码之后的操作时,这可以工作。但是,当我从 child theme functions.php 中添加它时,它不起作用。
remove_action ('after_setup_theme', 'et_pb_setup_theme' , 10);
删除操作与添加操作具有相同的优先级 10 。应该不行吗
add_action( 'after_setup_theme', 'et_pb_setup_theme' ); //parent theme add_action
最佳解决方案
正如 @cybmeta 已经指出的那样,你的清除时间太早了。所以你必须推迟实际删除,例如:
add_action( 'after_setup_theme', 'wpdev_170663_remove_parent_theme_stuff', 0 );
function wpdev_170663_remove_parent_theme_stuff() {
remove_action( 'after_setup_theme', 'et_pb_setup_theme' );
}
次佳解决方案
子主题的 functions.php 文件在父主题 functions.php 之前加载,所以当您在子主题中运行 remove_action
时,您尝试删除的操作不存在 beacuse,稍后添加。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。