WordPressのサイトをリニューアルした際にクライアントのキャッシュをクリアさせる方法
前回の記事で「サイトをリニューアルした際にクライアントのキャッシュをクリアさせる方法」を書きましたが、今回は「WordPressのサイトをリニューアルした場合の方法」について記述したいと思います。
WordPress のテーマが使う style.css のバージョンは、HTML ソース中に「style.css?ver=4.7.3」と、WordPress のコアバージョンが自動的に設定されます。
これを任意の番号に変更する場合、以下の様に「function.php」内にWordpressのバージョンをフックするコードを記述します。
function my_update_styles( $action_hook ) {
$mtime = date("YmdHis",filemtime( get_stylesheet_directory() . '/style.css' ));
$action_hook->default_version = $styles->default_version .".". $mtime;
}
add_action( 'wp_default_styles' , 'my_update_styles' );
これはアクションフック「wp_default_styles」のバージョンを上書きしています。
ポイントとしてはバージョンの上げ忘れ防止としてstyle.css の最終更新日時を取得し、それをバージョンに加えている点です。
これでサイト更新時のスタイルシートバージョン上げ作業から解放され、上げ忘れも防止でき良い事づくめですね♪ さっそく私の管理するサイト全てに、このコードを追加しておこっと♪
2017/06/02追記
なお同様に「wp_default_scripts」というアクションフックも存在します。
上記コードに下記の赤字部分を加え、スクリプトもCSS同様に最終更新日時をバージョンに加えてあげましょう。
function my_update_styles( $action_hook ) {
$mtime = date("YmdHis",filemtime( get_stylesheet_directory() . '/style.css' ));
$action_hook->default_version = $styles->default_version .".". $mtime;
}
add_action( 'wp_default_styles' , 'my_update_styles' );
add_action( 'wp_default_scripts' , 'my_update_styles' );