Cum pot obține $handle pentru toate scripturile încărcate în WordPress?

3 iun. 2012, 05:37:26
Vizualizări: 14.8K
Voturi: 26

Există vreo metodă prin care pot obține $handle pentru fiecare script care a fost încărcat?

Există vreun array care conține toate handle-urile astfel încât să pot parcurge lista și să fac ceva cu fiecare $handle?

0
Toate răspunsurile la întrebare 2
2
34

variabila globală $wp_scripts stochează toate datele despre scripturi:

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 iun. 2012 06:04:58
Comentarii

Începând cu WP 4.2.0 - $wp_scripts = wp_scripts(); ar putea fi mai bine decât accesarea directă a variabilei globale, deoarece va inițializa $wp_scripts dacă acesta nu a fost setat.

jgraup jgraup
30 aug. 2016 17:33:49

Ar trebui să adaugi prioritatea ,9999 ca în add_action( 'wp_print_scripts', wpa54064_inspect_scripts', 9999 );, altfel vei vedea scripturi care sunt dezactivate de fișierul functions.php

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

Există vreo modalitate de a obține $handle pentru fiecare script care a fost încărcat?

Ai putea încerca să inspectezi $wp_scripts->queue la un anumit hook, dar nu îți va oferi o listă cu toate handle-urile folosite de WordPress, crede-mă sau nu.

De exemplu, ai putea folosi hook-ul wp_head, care rulează acțiunea wp_print_scripts, pentru a obține o listă cu $handles pentru tema standard Twenty Seventeen în WP v4.7.5:

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

add_action( 'wp_head', 'get_enqueued_scripts' );

Iar lista de $handles din $wp_scripts->groups va afișa:

Lista handle-uri scripturi încărcate WordPress

În acest moment, dacă ai compara ce există în $wp_scripts->queue, vei vedea doar un subset din cele de mai sus.

Prin urmare, nici wp_print_scripts nu va furniza o listă completă de handle-uri așa cum este afișată mai sus, dacă asta cauți. Și nu este posibil să te bazezi întotdeauna pe dependențele grupate pentru a le obține.

7 iun. 2017 12:37:49