Check if a script/style was enqueued/registered

The question:

Is it possible to test whether a script or a style was registered using wp_register_script/_style or wp_enqueue_script/_style? All functions doesn’t return a value and I’m completely clueless.

I need it to switch between different functions depending on stylesheet-libraries and scripts I offer.

Thank you!

The Solutions:

Below are the methods you can try. The first solution is probably the best. Try others if the first one doesn’t work. Senior developers aren’t just copying/pasting – they read the methods carefully & apply them wisely to each case.

Method 1

There is a function called wp_script_is( $handle, $list ). $list can be one of:

  • ‘registered’ — was registered through wp_register_script()
  • ‘queue’ — was enqueued through wp_enqueue_script()
  • ‘done’ — has been printed
  • ‘to_do’ — will be printed

Ditto all that for wp_style_is().

Method 2

Check $GLOBALS['wp_scripts']->registered for scripts.

Example

function is_enqueued_script( $script )
{
    return isset( $GLOBALS['wp_scripts']->registered[ $script ] );
}

print (int) is_enqueued_script( 'l10n' );

$GLOBALS['wp_styles']->registered works the same way.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Comment