Check if a script/style was enqueued/registered
Pergunta
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!
Solução
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()
.
Outras dicas
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.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a wordpress.stackexchange