Verifique se um script / estilo foi enfileirado / registrado


31

É possível testar se um script ou estilo foi registrado usando wp_register_script/_styleou wp_enqueue_script/_style? Todas as funções não retornam um valor e eu sou completamente ignorante.

Preciso alternar entre funções diferentes, dependendo das bibliotecas de folhas de estilo e scripts que ofereço.

Obrigado!

Respostas:


49

Existe uma função chamada wp_script_is( $handle, $list ). $listpode ser um dos seguintes:

  • 'registrado' - foi registrado através wp_register_script()
  • 'fila' - foi enfileirado por meio de wp_enqueue_script()
  • 'pronto' - foi impresso
  • 'to_do' - será impresso

O mesmo vale para tudo isso wp_style_is().


11

Verifique se $GLOBALS['wp_scripts']->registeredhá scripts.

Exemplo

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

print (int) is_enqueued_script( 'l10n' );

$GLOBALS['wp_styles']->registered funciona da mesma maneira.


1
Down votou nessa falta de verificação de sanidade, deixa a possibilidade de erros fatais.
Backie

2
@ Backie, mas você entende que isso é uma prova de conceito?
Fuxia

wp_script_is () é uma melhor e mais segura solução (Adam Backstrom`) solução
chrisjlee
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.