概要
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' );
このコードは、特定の条件が満たされた場合にトランジェントを削除します。状況に応じたデータ管理に役立ちます。