wp_opcache_invalidate()


WordPressのwp_opcache_invalidate()関数は、OPcacheでキャッシュされたPHPファイルを無効化するために使用されます。この関数は特定のファイルのキャッシュをクリアし、変更が即時反映されるようにします。

構文

wp_opcache_invalidate( string $file, bool $force = false );

引数の説明:

  • $file (string) — 無効化するファイルのパス。
  • $force (bool) — 強制的に無効化するかどうか。デフォルトはfalse。

例1: テーマファイルのキャッシュを無効化

現在のテーマのfunctions.phpファイルのキャッシュを無効化します。

wp_opcache_invalidate(get_template_directory().'/functions.php');

例2: プラグインファイルのキャッシュを無効化

特定のプラグインファイルのキャッシュを無効化します。

wp_opcache_invalidate(WP_PLUGIN_DIR.'/my-plugin/my-plugin.php');

例3: 強制的にキャッシュを無効化

forceパラメータを使用して強制的にキャッシュを無効化します。

wp_opcache_invalidate(get_stylesheet_directory().'/style.css',true);

例4: 投稿テンプレートのキャッシュをクリア

単一投稿テンプレートのキャッシュを無効化します。

wp_opcache_invalidate(get_template_directory().'/single.php');

例5: カスタムページテンプレートのキャッシュを更新

カスタムページテンプレートの変更を即時反映させます。

wp_opcache_invalidate(get_template_directory().'/templates/custom-page.php');

例6: 子テーマのファイルキャッシュを無効化

子テーマのJavaScriptファイルのキャッシュをクリアします。

wp_opcache_invalidate(get_stylesheet_directory().'/js/custom.js');

例7: 複数ファイルのキャッシュを一括無効化

複数のテンプレートファイルのキャッシュをループで無効化します。

$files=array('header.php','footer.php','sidebar.php');foreach($files as $file){wp_opcache_invalidate(get_template_directory().'/'.$file);}

注意事項

  • この関数はOPcacheが有効な環境でのみ動作します。
  • 本番環境で使用する際はパフォーマンス影響を考慮してください。
  • ファイルパスは絶対パスで指定する必要があります。

関連機能: