Come posso ottenere l'$handle per tutti gli script enqueued?

3 giu 2012, 05:37:26
Visualizzazioni: 14.8K
Voti: 26

Esiste un modo per ottenere l'$handle per ogni script che è stato enqueued?

C'è qualche array che contiene tutti gli handle così che io possa iterare attraverso di esso e fare qualcosa utilizzando ogni $handle?

0
Tutte le risposte alla domanda 2
2
34

la variabile globale $wp_scripts contiene tutti i dati degli 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' );
3 giu 2012 06:04:58
Commenti

A partire da WP 4.2.0 - $wp_scripts = wp_scripts(); potrebbe essere meglio che accedere direttamente alla variabile globale poiché inizializzerà $wp_scripts se non è stato impostato.

jgraup jgraup
30 ago 2016 17:33:49

Dovresti aggiungere la priorità ,9999 come add_action( 'wp_print_scripts', wpa54064_inspect_scripts', 9999 );, altrimenti vedrai gli script che sono stati rimossi dalla coda dal file functions.php

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

Esiste un modo per ottenere l'handle $ per ogni script che è stato accodato?

Potresti provare a esaminare $wp_scripts->queue in un hook specifico, ma non ti darà un elenco di tutti gli handle utilizzati da WordPress, che ci crediate o no.

Ad esempio, potresti agganciarti a wp_head, che esegue l'azione wp_print_scripts, per ottenere un elenco di $handles per il tema standard Twenty Seventeen in WP v4.7.5:

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

add_action( 'wp_head', 'get_enqueued_scripts' );

E l'elenco di $handles da $wp_scripts->groups mostrerà:

Inserisci la descrizione dell'immagine qui

A questo punto, se dovessi confrontare ciò che esiste in $wp_scripts->queue vedrai solo un sottoinsieme di quanto sopra.

Pertanto, anche wp_print_scripts non fornirà un elenco completo di handle come mostrato sopra, se è questo che stai cercando. E non è sempre possibile fare affidamento sulle dipendenze raggruppate per ottenerli.

7 giu 2017 12:37:49