How do I force wp_enqueue_scripts to load at the END of <head>?

by Nate   Last Updated July 12, 2019 09:08 AM - source

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, meaning it has 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 :-)


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! :-)

Answers 3

add_action accepts a priority parameter which defaults to 10. Increasing this to a higher value makes your function to execute later. Set it to 20 and see whether it helps.

Dakshinamurthy Karra
Dakshinamurthy Karra
July 04, 2012 04:13 AM

wp_enqueue_scripts is added per default with a priority of 1 to wp_head.

See wp-includes/default-filters.php:282 for details:

add_action( 'wp_head', 'wp_enqueue_scripts', 1 );

You can try to change the priority:

remove_action( 'wp_head', 'wp_enqueue_scripts', 1 );
add_action( 'wp_head', 'wp_enqueue_scripts', 9999 );

But I don’t recommend it. There is probably a good reason for the default value. Some scripts may not work anymore when you change this.

July 04, 2012 04:36 AM

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.

July 04, 2012 15:40 PM

Related Questions

removing specific style from wp_head

Updated August 14, 2018 01:08 AM