首先,我想说我同意@Wyck所说的
通常,用插件覆盖主题的CSS是个坏主意,但向小部件添加一个自定义的唯一类/id应该可以做到这一点。
你说“威克”的建议不起作用。我可能会认为这是一种方式,也是确保你不会干扰主题样式的唯一方式。您应该使用唯一的id或类,然后以该选择器为目标。我只是觉得你在这里的执行是错误的,这就是为什么它不起作用。
首先,你应该避免使用!important
在css中。通常这意味着没有正确设置样式表的优先级
其次,这里的首要问题是你。所有样式都被主样式表覆盖,因为样式是先加载的,而不是最后加载的。我相信您已经将样式表与wp_enqueue_style()
然后把它钩住wp_enqueue_scripts
function my_plugin_style() {
wp_enqueue_style( \'myPluginStylesheet\', plugins_url(\'stylesheet.css\', __FILE__) );
}
add_action( \'wp_enqueue_scripts\', \'my_plugin_style\' );
如果你看看
add_action( $hook, $function_to_add, $priority, $accepted_args );
, 您将看到第三个参数(
$priority
) 就是你设置钩子必须执行的优先级的地方。数字越高,优先级越低。在您的情况下,您需要设置一个非常低的优先级,以确保最后加载您的样式。所以你需要这样做
add_action( \'wp_enqueue_scripts\', \'my_plugin_style\', 9999 );