WordPressのサイトをリニューアルした際にクライアントのキャッシュをクリアさせる方法

wordpress,Web開発

前回の記事で「サイトをリニューアルした際にクライアントのキャッシュをクリアさせる方法」を書きましたが、今回は「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' );
Print Friendly, PDF & Email