web-dev-qa-db-fra.com

Comment puis-je obtenir le descripteur $ pour tous les scripts mis en file d'attente?

Existe-t-il un moyen d'obtenir le descripteur $ pour chaque script mis en file d'attente?

Existe-t-il un tableau contenant toutes les poignées pour que je puisse le parcourir et faire quelque chose en utilisant chaque $?

15
trusktr

le $wp_scripts global contient toutes les données du 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' );
23
Milo

Existe-t-il un moyen d'obtenir le descripteur $ pour chaque script mis en file d'attente?

Vous pouvez essayer d'inspecter $wp_scripts->queue à un hook spécifique, mais cela ne vous donnera pas la liste de tous les descripteurs utilisés par WordPress, croyez-le ou non.

Par exemple, vous pouvez vous connecter à wp_head, qui exécute l'action wp_print_scripts, pour obtenir une liste de $handles pour le thème stock Twenty Seventeen dans WP v4.7.5:

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

add_action( 'wp_head', 'get_enqueued_scripts' );

Et la liste de $handles à partir de $wp_scripts->groups sera affichée:

 enter image description here 

À ce stade, si vous comparez ce qui existe dans $wp_scripts->queue, vous ne verrez qu'un sous-ensemble de ce qui précède.

Par conséquent, même wp_print_scripts ne sera pas fournir une liste complète de descripteurs, comme indiqué ci-dessus, si c'est ce que vous recherchez. Et il n'est pas possible de toujours compter sur des dépendances groupées pour les obtenir.

1
Josh Habdas