Sıralanan tüm komut dosyaları için $ tanıtıcısını nasıl edinebilirim?


18

Sıralanan her komut dosyası için $ tanıtıcı almanın bir yolu var mı?

Ben üzerinden döngü ve her $ tanıtıcısını kullanarak bir şey yapmak böylece tüm tanıtıcıları tutan bazı dizi var mı?

Yanıtlar:


25

$wp_scriptsKüresel tüm komut verileri tutan:

function wpa54064_inspect_scripts() {
    global $wp_scripts;
    foreach( $wp_scripts->queue as $handle ) :
        echo $handle;
    endforeach;
}
add_action( 'wp_print_scripts', 'wpa54064_inspect_scripts' );

5
WP 4.2.0'dan itibaren - henüz belirlenmemişse $wp_scripts = wp_scripts();başlayacağından küresel olana doğrudan erişmekten daha iyi olabilir $wp_scripts.
16:14

Sen önceliği eklemek gerekir ,9999gibi add_action( 'wp_print_scripts', wpa54064_inspect_scripts', 9999 );başka functions.php dosyası tarafından dequeued komut dosyaları göreceğiz,
Ryszard Jędraszyk

2

Sıralanan her komut dosyası için $ tanıtıcı almanın bir yolu var mı?

$wp_scripts->queueBelirli bir kancada incelemeyi deneyebilirsiniz , ancak WordPress tarafından kullanılan tüm tutamaçların bir listesini vermez, ister inanın ister inanmayın.

Örneğin, WP v4.7.5'teki stok Yirmi Onyedi temasının bir listesini almak wp_headiçin wp_print_scriptseylemi çalıştırabilirsiniz $handles:

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

add_action( 'wp_head', 'get_enqueued_scripts' );

Ve listesi $handlesgelen $wp_scripts->groupsirade çıkışı:

resim açıklamasını buraya girin

Bu noktada, var olanı karşılaştırırsanız $wp_scripts->queue, sadece yukarıdakilerin bir alt kümesini görürsünüz.

Bu nedenle, hatta wp_print_scripts alışkanlık yukarıda gösterildiği gibi eğer peşinde olduğun buysa, tutamaklar tam bir listesini sağlar. Ve onları elde etmek için her zaman gruplanmış bağımlılıklara güvenmek mümkün değildir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.