Php Wordpress移除在钩子函数的父主题中声明的操作
我的父主题在标题中打印内联样式。一个我想移除的。 公共函数hook()中的Inside controls.php:Php Wordpress移除在钩子函数的父主题中声明的操作,php,wordpress,parent-child,Php,Wordpress,Parent Child,我的父主题在标题中打印内联样式。一个我想移除的。 公共函数hook()中的Inside controls.php: add_action( 'wp_head', array($this, 'display_customization') ); 此函数如下所示: public function display_customization() { do_action('zoom_customizer_display_customization_css', $this->
add_action( 'wp_head', array($this, 'display_customization') );
此函数如下所示:
public function display_customization()
{
do_action('zoom_customizer_display_customization_css', $this->get_css_rules());
$css = zoom_customizer_get_css()->build();
if (!empty($css)) {
echo "\n<!-- Begin Theme Custom CSS -->\n<style type=\"text/css\" id=\"" . WPZOOM::$theme_raw_name . "-custom-css\">\n";
echo $css;
echo "\n</style>\n<!-- End Theme Custom CSS -->\n";
}
}
上面的主要问题是,该操作是使用类方法回调语法添加的
array('display\u customization')
因此不能直接使用函数名删除它
在这里,您可以找到remove_class_action
和remove_class_filter
的实现,它们允许您删除使用类语法创建的操作和筛选器
在项目中使用以下语法获得上述代码后:
remove_class_action('wp_head','thisreferestoInControl智能驭享文件的类名','display_customization')代码>
还有一些需要注意的事项:
remove_action
和remove_class_action
需要与add action具有相同的签名,因此请保持优先级不变。如果add调用没有上述优先级(因此默认优先级为10),请保持remove调用相同
您在这里可能遇到的另一个问题是确保remove_操作或remove_class_操作调用实际上是在add_操作之后调用的
根据add_操作的调用位置,您可能必须将remove调用放在特定的钩子中,以确保在add调用之后执行remove调用
remove_action( 'wp_head','display_customization', 120);