wp_head
すべてのファイルのソースリンクの関数の内部を観察しました.css
。.js
ファイルa ?ver=1
(またはファイルの/ライブラリバージョンに基づく他の番号)が追加されています。それらを削除するにはどうすれば上書きできますか?
この問題は、キャッシュマニフェスト部分で問題を引き起こしていると思います。
wp_head
すべてのファイルのソースリンクの関数の内部を観察しました.css
。.js
ファイルa ?ver=1
(またはファイルの/ライブラリバージョンに基づく他の番号)が追加されています。それらを削除するにはどうすれば上書きできますか?
この問題は、キャッシュマニフェスト部分で問題を引き起こしていると思います。
回答:
URLにフックしstyle_loader_src
てscript_loader_src
実行することができremove_query_arg( 'ver', $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 );
}
このプラグインなし:
プラグインのアクティブ化後:
これが失敗するケースが1つあります。誰かがスクリプト/スタイル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()
。