7

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

0

2 Answers 2

4

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.

4

wp_enqueue_scripts is added per default with a priority of 1 to wp_head. See wp-includes/default-filters.php for details.

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.

3
  • Unfortunately, doing this causes the entire website to break.
    – Nate
    Jul 4, 2012 at 5:47
  • 5
    I don’t believe that, but, yes, side-effects are inevitable.
    – fuxia
    Jul 4, 2012 at 11:57
  • please try to describe this and tell everyone, how this could put enqueued scripts and styles at the end of document's head, as this clearly puts them at the end of body!! Jul 12, 2019 at 9:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.