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!

Foi útil?

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
scroll top