[英]Wordpress remove action declared in parent theme in hook function
我的父主题在标题中打印内联样式。 我想删除的一个。 在公共函数 hook() 中的controls.php中:
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";
}
}
它添加了 id="foodica-pro-custom-css" 的内联样式
我试过
remove_action( 'wp_head','display_customization', 120);
它没有用。
array($this, 'display_customization')
所以你不能直接使用函数名来删除它
在这里您可以找到remove_class_action
和remove_class_filter
的实现,它们允许您删除使用类语法创建的操作和过滤器。
使用以下语法在项目中包含上述代码后:
remove_class_action('wp_head', 'NameOfClassThatThisRefersToInControlsFile', 'display_customization');
上面的remove_action
和remove_class_action
需要与add action 具有相同的签名,所以请保持优先级相同。 如果 add 调用没有上述优先级(所以它的默认优先级为 10),请保持 remove 调用相同。
您在此处可能遇到的另一个问题是确保 remove_action 或 remove_class_action 调用实际上是在 add_action 之后调用的。
根据调用 add_action 的位置,您可能必须将 remove 调用放在特定的钩子中,以确保在 add 调用之后执行 remove 调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.