¿Cómo obtengo el identificador $ para todos los scripts en cola?

14

¿Hay alguna forma de obtener el controlador $ para cada script que se ha puesto en cola?

¿Hay algún conjunto que contenga todos los manejadores para que pueda recorrerlo y hacer algo con cada $ manejador?

    
pregunta trusktr 03.06.2012 - 04:37

2 respuestas

22

el $wp_scripts global contiene todos los datos del script:

function wpa54064_inspect_scripts() {
    global $wp_scripts;
    foreach( $wp_scripts->queue as $handle ) :
        echo $handle;
    endforeach;
}
add_action( 'wp_print_scripts', 'wpa54064_inspect_scripts' );
    
respondido por el Milo 03.06.2012 - 05:04
1
  

¿Hay alguna forma de obtener el controlador $ para cada script que se ha puesto en cola?

Puedes intentar inspeccionar $wp_scripts->queue en un gancho específico, pero no te dará una lista de todos los manejadores utilizados por WordPress, créalo o no.

Por ejemplo, puedes enganchar a wp_head , que ejecuta la acción wp_print_scripts , para obtener una lista de $handles para el tema del stock Twenty Seventeen en WP v4.7.5:

function get_enqueued_scripts () {
    $scripts = wp_scripts();
    var_dump( array_keys( $scripts->groups ) );
}

add_action( 'wp_head', 'get_enqueued_scripts' );

Y se mostrará la lista de $handles de $wp_scripts->groups :

En este punto, si compararas lo que existe en $wp_scripts->queue solo verás un subconjunto de lo anterior.

Por lo tanto, incluso wp_print_scripts no proporcionará una lista completa de identificadores como se muestra arriba, si eso es lo que está buscando. Y tampoco es posible confiar siempre en dependencias agrupadas para obtenerlas.

    
respondido por el Josh Habdas 07.06.2017 - 11:37

Lea otras preguntas en las etiquetas