Odpowiedzi:
$wp_scripts
globalny przechowuje wszystkie dane skryptów:
function wpa54064_inspect_scripts() {
global $wp_scripts;
foreach( $wp_scripts->queue as $handle ) :
echo $handle;
endforeach;
}
add_action( 'wp_print_scripts', 'wpa54064_inspect_scripts' );
,9999
jak add_action( 'wp_print_scripts', wpa54064_inspect_scripts', 9999 );
, bo inaczej będziesz widząc skrypty których kolejki są opróżniane przez pliku functions.php
Czy istnieje sposób, aby uzyskać uchwyt $ dla każdego skolejkowanego kolejki?
Możesz spróbować sprawdzić $wp_scripts->queue
konkretny haczyk, ale nie da ci to listy wszystkich uchwytów używanych przez WordPress, uwierz lub nie.
Na przykład możesz podłączyć się do wp_head
działającej wp_print_scripts
akcji i uzyskać listę podstawowego $handles
motywu Twenty Seventeen w WP v4.7.5:
function get_enqueued_scripts () {
$scripts = wp_scripts();
var_dump( array_keys( $scripts->groups ) );
}
add_action( 'wp_head', 'get_enqueued_scripts' );
A lista $handles
z $wp_scripts->groups
wyświetli:
W tym momencie, jeśli chcesz porównać to, co istnieje $wp_scripts->queue
, zobaczysz tylko podzbiór powyższego.
Dlatego nawet wp_print_scripts
nie dostarczy pełnej listy uchwytów, jak pokazano powyżej, jeśli o to ci chodzi. I nie zawsze można polegać na zgrupowanych zależnościach.
$wp_scripts = wp_scripts();
może być lepszy niż bezpośredni dostęp do globalnego, ponieważ zainicjuje się,$wp_scripts
jeśli nie został ustawiony.