I am loading scripts via wp_enqueue_scripts in my child theme.

The only problem is that my style.css script get loaded BEFORE plugin scripts, yet I need to override the CSS in the plugins with my style.css. So it needs to load AFTER plugin scripts.

I don’t want to add “!important” too all of my CSS styles because that is tedious and could break some of my styling.

I tried adding a priority but it did not effect the loading order at all.

    add_action('wp_enqueue_scripts', 'scripts', 9999);

I would simply like to wp_enqueue_scripts at the very end of the header, just before </head>. How can it be done? Thanks 🙂

UPDATE:

Yay I figured it out!

Simply register the filter with:

    add_action('wp_print_styles', 'scripts');

wp_print_styles loads with a priority of 8, and it still places them in the header because it’s a part of wp_head.

I figured this out by looking in wp-includes/default-filters.php, so thanks for the tip! 🙂

2 s
2

I think the more WordPress friendly way to do this is to use wp_enqueue_styles()‘s $deps parameter. Assuming the plugin styles are enqueued via wp_enqueue_styles() (which, admittedly, pathetically few are), you list an array of the stylesheet handles that your styles depend on and then they load afterwards.

Leave a Reply

Your email address will not be published. Required fields are marked *