MENU

スクリプトのバージョン管理(キャッシュクリア対策)

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');

ソースの解説

  1. filemtime()関数を使用して、スクリプトの最終更新日時を取得します。
  2. wp_register_script()で取得した更新日時をバージョンとして登録し、キャッシュがクリアされるように設定。
  3. スクリプトを読み込むのはフッター部分(true指定)です。

難易度

filemtime()の理解が必要であり、細かなファイル管理も求められます。

ポイント

  • バージョン管理を自動化することで、キャッシュクリアを手動で行う手間が省けます
  • 複数のスクリプトに同じ方法を適用することで、サイト全体のキャッシュ管理が容易になります。

Q&A

ファイルの更新日時が正しく取得できない場合は?

テーマディレクトリのパスが正しいか、filemtime()が実行できる権限があるか確認してください。

外部スクリプトにはどう対応すればいいですか?

外部スクリプトはバージョン番号を手動で指定するか、URLの末尾にタイムスタンプを追加することで管理します。

まとめ

filemtime()を使ったバージョン管理は、スクリプト更新時にキャッシュを自動クリアできるため、ユーザー体験を向上させます。


よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

WordPress Love! 休日はほぼWordPress仲間と一緒に勉強会や写真を撮りに行っています。現在育児中のため、オフが多いです(>△<<<)

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次