Làm thế nào để tôi có được xử lý $ cho tất cả các tập lệnh bị mê hoặc?


18

Có cách nào để lấy $ xử lý cho mỗi tập lệnh đã được xử lý không?

Có một số mảng chứa tất cả các tay cầm để tôi có thể lặp qua nó và làm một cái gì đó bằng cách sử dụng mỗi tay cầm $?

Câu trả lời:


25

các $wp_scriptstoàn cầu nắm giữ tất cả các dữ liệu kịch bản:

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
Kể từ WP 4.2.0 - $wp_scripts = wp_scripts();có thể tốt hơn là truy cập trực tiếp vào toàn cầu vì nó sẽ khởi tạo $wp_scriptsnếu nó chưa được đặt.
jgraup

Bạn nên thêm ưu tiên ,9999như add_action( 'wp_print_scripts', wpa54064_inspect_scripts', 9999 );, nếu không bạn sẽ được nhìn thấy kịch bản được dequeued bởi tập tin functions.php
Ryszard Jędraszyk

2

Có cách nào để lấy $ xử lý cho mỗi tập lệnh đã được xử lý không?

Bạn có thể thử kiểm tra $wp_scripts->queuetại một hook cụ thể nhưng nó sẽ không cung cấp cho bạn danh sách tất cả các thẻ điều khiển được sử dụng bởi WordPress, tin hay không.

Ví dụ: bạn có thể nối vào wp_head, chạy wp_print_scriptshành động, để có danh sách $handlescho chủ đề Twenty Seventeen trong WP v4.7.5:

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

add_action( 'wp_head', 'get_enqueued_scripts' );

Và danh sách $handlestừ $wp_scripts->groupssẽ xuất ra:

nhập mô tả hình ảnh ở đây

Tại thời điểm này, nếu bạn so sánh những gì tồn tại trong $wp_scripts->queuebạn sẽ chỉ thấy một tập hợp con ở trên.

Do đó, thậm chí wp_print_scripts sẽ không cung cấp danh sách đầy đủ các thẻ điều khiển như được hiển thị ở trên, nếu đó là những gì bạn đang theo đuổi. Và không thể luôn luôn dựa vào các phụ thuộc được nhóm để có được chúng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.