我想在我自己的主题中覆盖插件css文件的一些规则,以便下次我更新该插件时,该插件的设置应放在安全的地方。目前,我将该css文件复制到我的主题中,并更改了一些规则。所以我需要推翻这个规则。我想找到了一个与我的问题相关的答案(HERE) 但我不能理解这个代码。它是如何工作的?
add_filter( \'style_loader_src\', \'wpse106104_replace_stylesheet\', 10, 2 );
function wpse106104_replace_stylesheet( $stylesheet_src, $handle ){
if( \'plugin-script-handle\' == $handle ){
$stylesheet_src = get_template_directory_uri() . \'/css/themes-copy-of-plugin.css\';
}
return $stylesheet_src;
}
最合适的回答,由SO网友:cybmeta 整理而成
这个style_loader_src
过滤器用于修改/过滤样式表的src(url)。函数回调接受两个参数,第一个是原始src,第二个是样式表的处理程序。处理程序是的第一个参数wp_enqueue_style()
用于将样式表排队。
因此,要用另一个样式表源替换一个样式表源,您应该检查处理程序以了解它必须替换哪个样式表,在您发布的代码中,选中的处理程序是plugin-script-handle
.