WordPressでJavaScriptなどのスクリプトを更新したとき、キャッシュが残っていると古いファイルが読み込まれることがあります。wp_register_script()
のバージョン指定を利用し、自動でキャッシュをクリアする設定を行います。
目次
解説
- スクリプトの最終更新日時をバージョンとして利用し、キャッシュを自動でクリアします。
- ファイルが変更されるたびに異なるバージョンが生成され、ユーザーには常に最新のスクリプトが提供されます。
function enqueue_versioned_script() {
$version = filemtime(get_template_directory() . '/js/custom.js'); // 更新日時を取得
wp_register_script('custom-script', get_template_directory_uri() . '/js/custom.js', [], $version, true);
wp_enqueue_script('custom-script');
}
add_action('wp_enqueue_scripts', 'enqueue_versioned_script');
ソースの解説
filemtime()
関数を使用して、スクリプトの最終更新日時を取得します。wp_register_script()
で取得した更新日時をバージョンとして登録し、キャッシュがクリアされるように設定。- スクリプトを読み込むのはフッター部分(
true
指定)です。
難易度
filemtime()
の理解が必要であり、細かなファイル管理も求められます。
ポイント
- バージョン管理を自動化することで、キャッシュクリアを手動で行う手間が省けます。
- 複数のスクリプトに同じ方法を適用することで、サイト全体のキャッシュ管理が容易になります。
Q&A
まとめ
filemtime()
を使ったバージョン管理は、スクリプト更新時にキャッシュを自動クリアできるため、ユーザー体験を向上させます。
コメント