在我自己的主题中覆盖插件的CSS规则

时间:2015-08-10 作者:Mehran

我想在我自己的主题中覆盖插件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;
}

1 个回复
最合适的回答,由SO网友:cybmeta 整理而成

这个style_loader_src 过滤器用于修改/过滤样式表的src(url)。函数回调接受两个参数,第一个是原始src,第二个是样式表的处理程序。处理程序是的第一个参数wp_enqueue_style() 用于将样式表排队。

因此,要用另一个样式表源替换一个样式表源,您应该检查处理程序以了解它必须替换哪个样式表,在您发布的代码中,选中的处理程序是plugin-script-handle.

结束

相关推荐

排除Plugins.php HTTP安装路径与单个插件的HTTPS的故障

我正在尝试对插件中显示的安装路径进行故障排除。php作为我在自己的网站上安装的插件,我最初并没有编写该插件。当我的站点的其余部分是HTTPS时,此插件引用和安装的所有资源都会显示为混合内容HTTP。我一直在玩弄下面的代码段,但它似乎没有起到什么作用,也没有解决问题。有人能指出我遗漏了什么吗? /** * registers scripts and stylesheets */ public function register_assets() {&