Wordpress: How to override all default theme CSS so your custom one is loaded the last?

Posted by mickael on Stack Overflow See other posts from Stack Overflow or by mickael
Published on 2012-01-18T02:21:40Z Indexed on 2012/11/23 11:00 UTC
Read the original article Hit count: 285

Filed under:
|

I have a problem where I've been able to include a custom css in the section of my wordpress theme with the following code:

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');

But the order in the source code is as follows:

<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" />

I want my_styles_css to be the last file to load, overriding default and user files. I've tried to achieve this by modifying wp_enqueue_style in different ways, but without any success. I've tried:

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

or

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

I've seen some related questions without answer or with these last 2 methods that are still failing for me.

The function above is part of a plugin that I've got enabled in my wordpress installation.

© Stack Overflow or respective owner

Related posts about css

Related posts about Wordpress