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