回答:
$wp_scripts
グローバルは、すべてのスクリプトデータを保持します。
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
ようadd_action( 'wp_print_scripts', wpa54064_inspect_scripts', 9999 );
に優先度を追加する必要があります。それ以外の場合、functions.phpファイルによってデキューされるスクリプトが表示されます
エンキューされた各スクリプトの$ handleを取得する方法はありますか?
$wp_scripts->queue
特定のフックで検査することもできますが、WordPressで使用されているすべてのハンドルのリストは表示されません。信じられないかもしれません。
たとえばwp_head
、wp_print_scripts
アクションを実行するにフックして、$handles
WP v4.7.5のストックTwenty Seventeenテーマのリストを取得できます。
function get_enqueued_scripts () {
$scripts = wp_scripts();
var_dump( array_keys( $scripts->groups ) );
}
add_action( 'wp_head', 'get_enqueued_scripts' );
そして、$handles
from のリスト$wp_scripts->groups
が出力されます:
この時点で、存在するものを比較する場合$wp_scripts->queue
、上記のサブセットのみが表示されます。
したがって、上記のようにハンドルの完全なリストが提供wp_print_scripts
されない場合もあります。また、グループ化された依存関係に依存して取得することもできません。
$wp_scripts = wp_scripts();
は初期化さ$wp_scripts
れるため、グローバルに直接アクセスするよりも優れている可能性があります。