Verificar si un script/estilo fue encolado/registrado

3 mar 2011, 18:00:15
Vistas: 16.9K
Votos: 35

¿Es posible verificar si un script o un estilo fue registrado usando wp_register_script/_style o wp_enqueue_script/_style? Ninguna de estas funciones devuelve un valor y no tengo idea de cómo hacerlo.

Lo necesito para cambiar entre diferentes funciones dependiendo de las librerías de hojas de estilo y scripts que ofrezco.

¡Gracias!

0
Todas las respuestas a la pregunta 2
0
57

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

  • 'registered' -- se registró mediante wp_register_script()
  • 'queue' -- se encoló mediante wp_enqueue_script()
  • 'done' -- ya se ha impreso
  • 'to_do' -- se imprimirá

Lo mismo aplica para wp_style_is().

9 mar 2011 16:14:36
3
11

Revisa $GLOBALS['wp_scripts']->registered para los scripts.

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.

3 mar 2011 20:41:17
Comentarios

Voté negativo debido a la falta de verificación de cordura, deja la posibilidad de errores fatales.

Backie Backie
4 mar 2011 10:49:19

@Backie, ¿pero entiendes que esto es una prueba de concepto?

fuxia fuxia
4 mar 2011 13:59:06

wp_script_is() es una solución mejor y más segura (Adam Backstrom` ) solución

chrisl-921fb74d chrisl-921fb74d
4 ago 2011 17:26:56