Wordpress:如何覆盖所有默认主题CSS,以便最后加载自定义主题?

时间:2012-01-18 02:21:40

标签: css wordpress

我有一个问题,我已经能够在我的wordpress主题部分中包含一个自定义css,代码如下:

function load_my_style_wp_enqueue_scripts()
{
wp_register_style('my_styles_css', includes_url("/css/my_styles.css"));
wp_enqueue_style('my_styles_css');
}
add_action('wp_enqueue_scripts','load_my_style_wp_enqueue_scripts');

但源代码中的顺序如下:

<link rel='stylesheet' id='my_styles_css-css'  href='http://...folderA.../my_styles.css?ver=3.1' type='text/css' media='all' />
<link rel="stylesheet" id="default-css" href="http://...folderB.../default.css" type="text/css" media="screen,projection" />
<link rel="stylesheet" id="user-css" href="http://...folderC.../user.css" type="text/css" media="screen,projection" />

我希望my_styles_css成为最后加载的文件,覆盖默认和用户文件。我试图通过以不同方式修改wp_enqueue_style来实现这一目标,但没有任何成功。我试过了:

wp_enqueue_style('my_styles_css', array('default','user'));

wp_enqueue_style('my_styles_css', false, array('default','user'), '1.0', 'all');

我已经看到一些相关的问题没有回答,或者最后两种方法仍然没有找到我。

上面的函数是我在wordpress安装中启用的插件的一部分。

4 个答案:

答案 0 :(得分:3)

add_action函数有一个可能有帮助的优先级参数:

  

$优先   (int)(可选)你的功能有多重要。更改此项以使您的功能在其他功能之前或之后被调用。默认值为10,因此(例如)将其设置为5将使其更早运行并将其设置为12将使其稍后运行。   默认值:10

http://codex.wordpress.org/Function_Reference/add_action

或者您可以直接链接到header.php文件中的css,而不是使用wp_enqueue_style,因此请将其准确放置在您想要的位置。

否则似乎有一个答案:How to force wp_enqueue_style to display CSS at the very bottom of the head tag to override all CSS rules?

答案 1 :(得分:2)

向主题添加样式表的正确方法是使用wp_enqueue_style()函数:

wp_enqueue_style( $handle, $src, $deps, $ver, $media );

使用$ deps指定在自定义样式表之前应加载哪些样式表。

答案 2 :(得分:1)

add_action('wp_head','load_my_style_wp_enqueue_scripts');怎么样?

使用wp_head代替wp_enqueue_scripts

答案 3 :(得分:0)

为什么不编辑主题?

您可以从信息中心

执行此操作

Appearance -> Editor -> header.php

最后添加你的CSS。