¿Cómo obtengo el $handle para todos los scripts encolados?

3 jun 2012, 05:37:26
Vistas: 14.8K
Votos: 26

¿Existe alguna forma de obtener el $handle para cada script que ha sido encolado?

¿Hay algún array que contenga todos los handles para que pueda recorrerlo y hacer algo usando cada $handle?

0
Todas las respuestas a la pregunta 2
2
34

La variable global $wp_scripts contiene todos los datos de los scripts:

function wpa54064_inspect_scripts() {
    global $wp_scripts;
    foreach( $wp_scripts->queue as $handle ) :
        echo $handle;
    endforeach;
}
add_action( 'wp_print_scripts', 'wpa54064_inspect_scripts' );
3 jun 2012 06:04:58
Comentarios

A partir de WP 4.2.0 - $wp_scripts = wp_scripts(); podría ser mejor que acceder directamente al global ya que inicializará $wp_scripts si no ha sido establecido.

jgraup jgraup
30 ago 2016 17:33:49

Deberías agregar prioridad ,9999 como add_action( 'wp_print_scripts', wpa54064_inspect_scripts', 9999 );, de lo contrario verás scripts que son eliminados por el archivo functions.php

Ryszard Jędraszyk Ryszard Jędraszyk
6 abr 2019 17:43:04
0

¿Existe alguna forma de obtener el $handle para cada script que ha sido encolado?

Podrías intentar inspeccionar $wp_scripts->queue en un hook específico, pero no te dará una lista de todos los handles utilizados por WordPress, créelo o no.

Por ejemplo, podrías engancharte a wp_head, que ejecuta la acción wp_print_scripts, para obtener una lista de $handles para el tema 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 la lista de $handles de $wp_scripts->groups mostrará:

Lista de handles de scripts en WordPress

En este punto, si comparas 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 handles como se muestra arriba, si eso es lo que buscas. Y tampoco es posible depender siempre de las dependencias agrupadas para obtenerlos.

7 jun 2017 12:37:49