Bạn nên được cảnh báo trước rằng không phải tất cả các plugin / chủ đề đều sử dụng enqueue. Khi tôi lần đầu tiên bắt đầu xử lý tất cả các tệp JavaScripts và CSS được xuất ra, tôi chỉ nối vào các tệp được liệt kê. Điều này dẫn đến việc tôi chỉ nhận được 2 trên 10 tệp JavaScript và 1 trên 3 tệp CSS.
Đây là một số PoC nhanh chóng. Không được thử nghiệm nhưng có nghĩa là đưa bạn đi đúng hướng, nếu bạn có thể viết mã. Khi tôi trở về nhà, tôi sẽ cùng nhau làm một cái gì đó phù hợp và tiện dụng hơn.
add_action('wp_print_scripts','head_files');
function head_files(){
global $wp_scripts, $auto_compress_scripts;
print 'print out head.js';
$queue = $wp_scripts->queue;
$wp_scripts->all_deps($queue);
$to_do = $wp_scripts->to_do;
$headArray = array();
foreach ($to_do as $key => $handle) {
$src = $wp_scripts->registered[$handle]->src;
$headArray[] = $src;
}
print 'print out head.js("'.implode("'",$headArray.'")';
}
(Về cơ bản đã vuốt hầu hết mã từ Trình tối ưu hóa tập lệnh JS & CSS )
add_filter('wpsupercache_buffer', 'head_files' );
function head_files($buffer){
if ( $fileType == "js" ){
preg_match_all('~<script.*(type="["\']text/javascript["\'].*)?src=["\'](.*)["\'].*(type=["\']text/javascript["\'].*)?></script>~iU',$content,$matches);
$headArray = $matches[2];
}
print 'print out head.js';
print 'print out head.js("'.implode("'",$headArray.'")';
return $buffer;
}
Sử dụng bộ đệm đầu ra WP Super Cache.
</body>
và chúng sẽ tải sau khi tài liệu được hiển thị ...