WordPressでは外部のjsやcssを読み込む際、WordPressのバージョンやプラグインのバージョンが「?ver=***」と付与されます。
このバージョン番号が付与されることによってバージョンが上がった際ファイル名が替わったとみなされ、ローカルにキャッシュされたものではなく、新たに読み込まれ、表示崩れ等の不具合を起こさない利点があります。
?ver=***が付与されている場合
(更新前)
example.css?ver=3.8.3
(更新後)
example.css?ver=3.9
更新前と更新後で別ファイル扱い
?ver=***が付与されていない場合
(更新前)
example.css
(更新後)
example.css
更新前と更新後は同じファイルとみなされる
なんだか便利なように感じます。
が、WordPressのデフォルトでソースに表示されている<meta name=”generator” content=”WordPress ***” />を消している場合、せっかく消した意味がなくなってしまいます。
そこでjsやcssに付与されるver=***も消してみよと思います。
function.phpに以下のコードを追記します。
全てのver=***を削除する場合
1 2 3 4 5 6 7 |
function vc_remove_wp_ver_css_js( $src ) { if ( strpos( $src, 'ver=' ) ) $src = remove_query_arg( 'ver', $src ); return $src; } add_filter( 'style_loader_src', 'vc_remove_wp_ver_css_js', 9999 ); add_filter( 'script_loader_src', 'vc_remove_wp_ver_css_js', 9999 ); |
WordPressのバージョンが付与されたver=***のみを削除する場合
1 2 3 4 5 6 7 |
function vc_remove_wp_ver_css_js( $src ) { if ( strpos( $src, 'ver=' . get_bloginfo( 'version' ) ) ) $src = remove_query_arg( 'ver', $src ); return $src; } add_filter( 'style_loader_src', 'vc_remove_wp_ver_css_js', 9999 ); add_filter( 'script_loader_src', 'vc_remove_wp_ver_css_js', 9999 ); |
ちなみに<meta name=”generator” content=”WordPress ***” />を消す記述
1 |
remove_action('wp_head', 'wp_generator'); |
これらを消したからセキュリティ的にどうこう、と思わないほうがいいと思います。常に最新のバージョンを使うようにしましょう。