概要
wp_cache_delete
関数は、WordPressにおけるキャッシュから任意のデータを削除するための関数です。この関数は、高速なデータアクセスのために使用されるキャッシュシステムと連携しており、特定のオブジェクトやデータをキャッシュから取り除く際に利用されます。以下は、wp_cache_delete
がよく使用される機能の例です。
- プラグインやテーマが更新された際のキャッシュクリア
- ユーザープロフィールが変更された際の関連データのキャッシュ削除
- 投稿やページが削除された際の関連するキャッシュデータの削除
- 設定の変更後に、設定に関連するデータのキャッシュを削除
- カスタムクエリの結果が変わった際のキャッシュクリア
- ウィジェットの更新時にウィジェットに関連するキャッシュデータの削除
- データベースから情報が削除された際のキャッシュ削除
- APIを介したデータ更新後のキャッシュクリア
構文
wp_cache_delete( $key, $group = 'default' );
パラメータ
- $key (string) : 削除したいキャッシュデータのキー。
- $group (string) : キャッシュデータが属するグループ。デフォルトは’default’。
戻り値
- (bool) : 成功した場合は
true
、失敗した場合はfalse
を返します。
関連する関数
使用可能なバージョン
wp_cache_delete
関数は、WordPressのコアファイルで存在し、特にバージョン 2.0 以降で使用できます。
コアファイルのパス
wp-includes/cache.php
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | 〇 |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | 〇 |
send_headers | |
parse_query | |
pre_get_posts | 〇 |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
-
キャッシュエントリの削除
// 特定のキーのキャッシュデータを削除 wp_cache_delete( 'my_cache_key', 'my_cache_group' );
このコードは、
my_cache_key
というキーのキャッシュエントリをmy_cache_group
から削除します。 -
ユーザーデータのキャッシュ削除
// ユーザーが更新された際にキャッシュを削除 function update_user_cache( $user_id ) { wp_cache_delete( 'user_' . $user_id, 'users' ); } add_action( 'profile_update', 'update_user_cache' );
このサンプルは、ユーザーのプロフィールが更新されるたびに、そのユーザーのキャッシュを削除します。
-
投稿削除時のキャッシュ削除
// 投稿が削除された際にキャッシュを削除 function delete_post_cache( $post_id ) { wp_cache_delete( $post_id, 'post' ); } add_action( 'before_delete_post', 'delete_post_cache' );
投稿が削除される前に、その投稿のキャッシュを削除します。
-
オプション変更時のキャッシュ削除
// オプションが更新されたときのキャッシュ削除 function update_options_cache() { wp_cache_delete( 'my_options_key', 'options' ); } add_action( 'updated_option', 'update_options_cache' );
オプションが変更された際に、その関連キャッシュを削除します。
-
カスタムクエリのキャッシュクリア
// 特定のカスタムクエリを実行後にキャッシュを削除 function clear_custom_query_cache() { wp_cache_delete( 'custom_query_results', 'custom' ); } add_action( 'some_custom_action', 'clear_custom_query_cache' );
カスタムアクションの後に関連するキャッシュを削除します。