Verifique si un script / estilo fue puesto en cola / registrado

31

¿Es posible probar si un script o un estilo se registraron usando wp_register_script/_styleo wp_enqueue_script/_style? Todas las funciones no devuelven un valor y no tengo ni idea.

Lo necesito para cambiar entre diferentes funciones dependiendo de las bibliotecas de hojas de estilo y los scripts que ofrezco.

¡Gracias!

emperador
fuente

Respuestas:

49

Hay una función llamada wp_script_is( $handle, $list ). $listpuede ser uno de:

  • 'registrado' - fue registrado a través de wp_register_script()
  • 'cola' - se puso en cola a través de wp_enqueue_script()
  • 'hecho' - ha sido impreso
  • 'to_do': se imprimirá

Lo mismo para todo eso wp_style_is().

Annika Backstrom
fuente
11

Verifica los $GLOBALS['wp_scripts']->registeredguiones.

Ejemplo

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

print (int) is_enqueued_script( 'l10n' );

$GLOBALS['wp_styles']->registered Funciona de la misma manera.

fuxia
fuente
1
Down votó esta falta de verificación de la cordura, deja la posibilidad de errores fatales.
Backie
2
@Backie, ¿pero entiendes que esto es una prueba de concepto?
fuxia
wp_script_is () es una solución mejor y más segura (Adam Backstrom`)
chrisjlee