ผมสังเกตภายในwp_head
ฟังก์ชั่นในการเชื่อมโยงแหล่งที่มาของทุก.css
, .js
ยื่น?ver=1
( หรือหมายเลขอื่น ๆ ขึ้นอยู่กับรุ่นของแฟ้ม / ห้องสมุด ) จะมีการเพิ่ม ฉันจะเขียนทับพวกเขาเพื่อลบออกได้อย่างไร
ปัญหานี้ฉันคิดว่าทำให้เกิดปัญหากับส่วนรายการแคช
ผมสังเกตภายในwp_head
ฟังก์ชั่นในการเชื่อมโยงแหล่งที่มาของทุก.css
, .js
ยื่น?ver=1
( หรือหมายเลขอื่น ๆ ขึ้นอยู่กับรุ่นของแฟ้ม / ห้องสมุด ) จะมีการเพิ่ม ฉันจะเขียนทับพวกเขาเพื่อลบออกได้อย่างไร
ปัญหานี้ฉันคิดว่าทำให้เกิดปัญหากับส่วนรายการแคช
คำตอบ:
คุณสามารถขอเข้าstyle_loader_src
และscript_loader_src
และเรียกใช้remove_query_arg( 'ver', $url )
ที่ URL:
<?php
/* Plugin Name: Remove version parameter for scripts and styles */
add_filter( 'style_loader_src', 't5_remove_version' );
add_filter( 'script_loader_src', 't5_remove_version' );
function t5_remove_version( $url )
{
return remove_query_arg( 'ver', $url );
}
หากไม่มีปลั๊กอินนี้:
หลังจากเปิดใช้งานปลั๊กอิน:
มีกรณีหนึ่งที่จะล้มเหลวคือ: เมื่อมีคนไม่ได้ใช้สคริปต์ / style API แต่เพิ่มสตริงฮาร์ดโค้ดลงในส่วนหัว
สิ่งนี้ใช้ได้กับฉันเมื่อฉันยังต้องโหลดสไตล์ชีทจาก Google Fonts
<?php
add_filter( 'script_loader_src', 'wpse130419_remove_script_version', 15, 1 );
add_filter( 'style_loader_src', 'wpse130419_remove_script_version', 15, 1 );
function wpse130419_remove_script_version( $src ) {
$url = explode( '?', $src );
if ( $url[0] === 'http://fonts.googleapis.com/css' ) :
$version = explode( '&ver=', $url[1] );
$url[1] = $version[0];
endif;
return ( $url[0] === 'http://fonts.googleapis.com/css' )
? "{$url[0]}?{$url[1]}"
: $url[0]
;
}
remove_query_arg()
แล้ว