대기열에있는 모든 스크립트에 대해 $ handle을 어떻게 얻습니까?


18

대기열에있는 각 스크립트에 대해 $ handle을 얻는 방법이 있습니까?

루프를 돌리고 각 $ handle을 사용하여 무언가를 할 수 있도록 모든 핸들을 보유하는 배열이 있습니까?

답변:


25

$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' );

5
WP 4.2.0부터- $wp_scripts = wp_scripts();글로벌 $wp_scripts이 설정되지 않은 경우 초기화되므로 직접 액세스하는 것보다 낫습니다 .
jgraup

당신은 우선 순위를 추가해야 ,9999처럼 add_action( 'wp_print_scripts', wpa54064_inspect_scripts', 9999 );다른 사람이 functions.php 파일에 의해 대기열되는 스크립트를 볼 수있을 것이다
RYSZARD Jędraszyk

2

대기열에있는 각 스크립트에 대해 $ handle을 얻는 방법이 있습니까?

$wp_scripts->queue특정 후크에서 검사 를 시도 할 수는 있지만 WordPress에서 사용하는 모든 핸들 목록을 제공하지는 않습니다.

예를 들어, WP v4.7.5에서 주식 Twenty Seventeen 테마 의 목록을 얻기 위해 조치 wp_head를 실행하는에 연결할 수 있습니다.wp_print_scripts$handles

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

add_action( 'wp_head', 'get_enqueued_scripts' );

$handlesfrom 목록 $wp_scripts->groups이 출력됩니다.

여기에 이미지 설명을 입력하십시오

이 시점에서, 당신이 존재하는 것을 비교한다면, $wp_scripts->queue당신은 위의 부분 집합 만 볼 것입니다.

따라서 위에 표시된 것처럼 전체 핸들 목록을 제공 wp_print_scripts 하지는 않습니다 . 그리고 항상 그룹화 된 종속성에 의존하여 그것들을 얻을 수는 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.