我处于这样一种情况,即我有两个包含jquery-ui.css的WordPress插件,最后一个被加载的插件会覆盖第一个插件的css。我希望加载这两个主题。我知道jQuery主题构建器支持CSS作用域,但这些插件都没有利用这个功能,编辑插件不是一个合理的选择(因为下次我更新插件时会改写更改)。有没有什么办法可以通过在我的主题中添加一些JavaScript来以编程方式实现作用域?
答案 0 :(得分:1)
首先,您必须能够通过标记其容器(或使用额外的包装)一些class
来确定至少一个插件输出的范围。要使class
生效,您需要使用CSS Scope
选择器class
下载new package build填充.class
。 Theme Folder Name
是您的新范围内的CSS将进入的地方。查看this page了解详情。
。
<强> WordPress的强>
为了在WordPress下保持良好和清晰,请注册新的CSS。在您的主题functions.php
:
wp_register_style( 'myScopedjQueryUICss', get_stylesheet_directory_uri() . '/scopedjQueryUICssDirectory/ui.all.css' );
最后,将这些样式排列在您需要的位置。常见的方法是将以下行连接到wp_print_styles
操作。
function hookScopedCss() {
if ( wp_style_is( 'myScopedjQueryUICss' ) ||
wp_style_is( 'myScopedjQueryUICss', 'done' ) )
{ return; }
wp_enqueue_style( 'myScopedjQueryUICss' );
}
add_action('wp_print_styles', 'hookScopedCss' );