概要
WordPressの高速化プラグインであるWP Super Cacheなどのキャッシュプラグインをコードで制御するためのユーティリティについて解説します。
ユースケース
キャッシュプラグインをコードで制御することで、特定のページや条件下でキャッシュをクリアしたり、キャッシュを無効化したりする必要がある場合に便利です。例えば、特定のページでのみキャッシュを無効にしたい場合などに活用できます。
前提条件
- WordPressサイトにWP Super Cacheなどのキャッシュプラグインがインストールされていること
- PHPコードを直接編集できる環境であること
サンプルコード
<?php
function clear_cache_for_specific_page() {
if ( is_page( '特定のページスラッグ' ) ) {
if ( function_exists( 'wp_cache_clear_cache' ) ) {
wp_cache_clear_cache();
}
}
}
add_action( 'template_redirect', 'clear_cache_for_specific_page' );
?>
解説
- `clear_cache_for_specific_page` 関数は、特定のページが表示された際にキャッシュをクリアする処理を行います。
- `is_page( '特定のページスラッグ' )` は、特定のページスラッグにマッチするかどうかを判定するWordPress関数です。
- `wp_cache_clear_cache()` は、WP Super Cacheプラグインが提供するキャッシュをクリアする関数です。
- `add_action( 'template_redirect', 'clear_cache_for_specific_page' )` は、特定のアクション(テンプレートの読み込み前)で `clear_cache_for_specific_page` 関数を実行するように設定します。
ベストプラクティス
- キャッシュを制御する際は、十分なテストを行ってサイトの動作に影響を与えないように注意してください。
- キャッシュの無効化やクリアは、必要最小限に留めることが望ましいため、適切な条件を設定することが重要です。