我的父主题在标题中打印内联样式。我想删除的一个。 在控件内部.php在公共函数 hook((中:
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')
,因此您无法直接使用函数名称将其删除
https://gist.github.com/tripflex/c6518efc1753cf2392559866b4bd1a53
在这里,您可以找到remove_class_action
和remove_class_filter
的实现,这些实现允许您删除使用类语法创建的操作和筛选器。
在项目中使用以下语法具有上述代码后:
remove_class_action('wp_head', 'NameOfClassThatThisRefersToInControlsFile', 'display_customization');
其他一些需要注意的事项:
上面的remove_action
和remove_class_action
需要具有与添加操作相同的签名,因此请保持优先级相同。如果添加调用没有上述优先级(因此默认优先级为 10(,请保持删除调用不变。
您可能在此处遇到的另一个问题是确保remove_action或remove_class_action调用实际上是在add_action之后调用的。
根据调用add_action的位置,您可能必须将 remove 调用放在特定的钩子中,以确保在 add 调用后执行 remove 调用。