Ngăn tham số URL phiên bản (? Ver = XXX) trên Kiểu & tập lệnh được liệt kê


12

Ca sử dụng

Tôi đã thử nghiệm các tính năng Dev Tools Workspace của Chrome. Nó bao gồm khả năng chỉnh sửa tệp trực tiếp trong Dev Tools và có biểu định kiểu đã lưu tự làm mới (hoặc thậm chí biên dịch và sau đó làm mới!).

Tuy nhiên, như được ghi lại trong câu hỏi StackOverflow "Tự động tải lại CSS CSS của Chrome không tải lại trang khi SASS biên dịch lại CSS" , các tham số URL trên URL của biểu định kiểu ngăn Chrome nhận thấy sự thay đổi.

Kết quả mong muốn

Điều đó có nghĩa là chỉ trong quá trình phát triển , tôi muốn loại bỏ ?ver=X.X.Xkhỏi <link>đầu ra biểu định kiểu thông thường bằng cách wp_enqueue_style(). Nói cách khác, tôi muốn mặc định href:

http://localhost/mysite/wp-includes/style.css?ver=4.1.1

thay vào đó là:

http://localhost/mysite/wp-includes/style.css

Câu trả lời:


12

wp_enqueue_[style/script]()Hành vi mặc định

Các giá trị mặc định cho $versiontham số của wp_enqueue_style()false. Tuy nhiên, mặc định đó chỉ có nghĩa là các bảng định kiểu được cung cấp phiên bản WordPress thay thế.

Giải pháp

Nhờ "Xóa phiên bản khỏi WordPress và CSS được yêu thích" , tôi đã học được một thực tế không có giấy tờ rằng việc chuyển sang nulldưới dạng phiên bản sẽ loại bỏ hoàn toàn phiên bản!

Thí dụ

wp_enqueue_style( 'wpse-styles', get_template_directory_uri() . '/style.css', array(), null );

Nhắc nhở

Thật đáng để chỉ ra, như đã lưu ý trong câu hỏi, rằng điều này có lẽ chỉ nên được thực hiện trong quá trình phát triển (như trong usecase cụ thể). Tham số phiên bản giúp lưu bộ đệm (và không lưu vào bộ đệm) cho khách truy cập trang web và do đó có lẽ nên để yên trong 99% trường hợp.


8

Cảm ơn bạn cho bài viết của bạn, mrwweb.

Tôi đã tìm thấy một giải pháp khác cho vấn đề này, bằng cách tạo một plugin rất đơn giản, bạn có thể ngừng hoạt động khi trang web không còn được phát triển.

<?php

/*
Plugin name: Strip WP Version in Stylesheets/Scripts
*/

function switch_stylesheet_src( $src, $handle ) {

        $src = remove_query_arg( 'ver', $src );
        return $src;
}
add_filter( 'style_loader_src', 'switch_stylesheet_src', 10, 2 );

?>

Tôi đã dành một vài phút cố gắng để tìm giải pháp này. Nghĩ rằng tôi có thể chia sẻ một tùy chọn khác ở đây thay vì tạo Câu hỏi / Trả lời mới.


không hoạt động ...
reggie

Đây là câu trả lời chính xác. Sử dụng bộ lọc này trong khi phát triển và loại bỏ nó một lần đi vào hoạt động.
dtbaker

Cách tốt hơn so với phong cách dequeue và hàng đợi. Cũng áp dụng cho các tập lệnh có bộ lọcscript_loader_src
Dharma
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.