概要
delete_transient
関数は、WordPressのトランジェント APIを使用して、指定されたトランジェントの値を削除するための関数です。トランジェントは、一定の期間だけデータをキャッシュするための便利な方法で、データベースへのクエリを減少させ、パフォーマンスを向上させるために頻繁に使用されます。この関数は、キャッシュされた値がもはや必要ない場合や、データが更新された場合にその値を削除するために使われます。
この関数がよく使われる場面には次のようなものがあります:
1. キャッシュのクリア
2. プラグインのデータ更新
3. 特定の条件が満たされた際のデータ削除
4. 投稿、ページ、カスタム投稿のメタデータの管理
5. APIレスポンスのリフレッシュ
6. サイトの設定変更後のキャッシュクリア
7. ユーザーログイン時の情報更新
8. 定期的なデータ保持戦略の一環
構文
delete_transient( string $transient );
パラメータ
$transient
(string) : 削除したいトランジェントの名前を指定します。
戻り値
- 成功した場合は
true
、失敗した場合はfalse
を返します。
関連する関数
使用可能なバージョン
- すべてのバージョンの WordPress で利用可能です。
コアファイルのパス
wp-includes/option.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 | 〇 |
この関数は特定のバージョンで非推奨または削除されていません。
サンプルコード
サンプル1: トランジェントの削除
delete_transient( 'my_custom_transient' );
このコードは、 'my_custom_transient'
という名前のトランジェントを削除しています。トランジェントを必要なくなった場合に使用します。
サンプル2: データが更新された後でトランジェントを削除
if ( update_my_data() ) {
delete_transient( 'my_data_transient' );
}
このコードは、 update_my_data
が成功した場合に、対応するトランジェントを削除します。データの更新時に古いキャッシュをクリアします。
サンプル3: キャッシュのリフレッシュ
function refresh_custom_cache() {
delete_transient( 'custom_cache' );
}
add_action( 'wp_loaded', 'refresh_custom_cache' );
このコードは、WordPressがロードされたときに、特定のカスタムキャッシュ(トランジェント)を削除します。キャッシュのリフレッシュに使用されます。
サンプル4: ユーザーログイン時の処理
function delete_transient_on_login( $user_login ) {
delete_transient( 'user_data_' . $user_login );
}
add_action( 'wp_login', 'delete_transient_on_login' );
このコードは、ユーザーがログインした際に、そのユーザーに関連するトランジェントを削除します。ユーザー情報の一貫性を保つために使います。
サンプル5: 特定条件でトランジェントをクリア
function clear_transient_on_condition() {
if ( some_condition() ) {
delete_transient( 'conditional_transient' );
}
}
add_action( 'init', 'clear_transient_on_condition' );
このコードは、特定の条件が満たされた場合にトランジェントを削除します。状況に応じたデータ管理に役立ちます。