Como obtenho o $ handle para todos os scripts de enfileiramento?

14

Existe alguma maneira de obter o $ handle para cada script que foi enfileirado?

Existe algum array que contém todas as alças para que eu possa percorrê-lo e fazer algo usando cada $ handle?

    
por trusktr 03.06.2012 / 04:37

2 respostas

22

o $wp_scripts global contém todos os dados do 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' );
    
por Milo 03.06.2012 / 05:04
1
  

Existe alguma maneira de obter o $ handle para cada script que foi enfileirado?

Você poderia tentar inspecionar $wp_scripts->queue em um gancho específico, mas não fornecerá uma lista de todas as alças usadas pelo WordPress, acredite ou não.

Por exemplo, você pode conectar-se a wp_head , que executa a wp_print_scripts action, para obter uma lista de $handles para o tema Vinte e dezessete em estoque no 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 a lista de $handles de $wp_scripts->groups será exibida:

Neste ponto, se você comparar o que existe em $wp_scripts->queue , verá apenas um subconjunto dos itens acima.

Portanto, mesmo wp_print_scripts não fornecerá uma lista completa de alças, conforme mostrado acima, se você quiser. E nem sempre é possível confiar em dependências agrupadas para obtê-las.

    
por Josh Habdas 07.06.2017 / 11:37