Câu trả lời:
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' );
,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
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:
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.
$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.