概要
set_transient
関数は、WordPressでデータを一時的に保存するための機能を提供します。この関数は、キャッシュや一時的なデータの保存に役立ち、データベースへのアクセスを減らすことができるため、パフォーマンスの向上とサーバー負荷の軽減に寄与します。
よく使われるシナリオ
- ページのキャッシュを作成する際
- 繰り返し呼び出されるAPIリクエストをキャッシュする時
- ユーザーセッションデータを保存する場合
- 大量のデータを一時的に保存したい場合
- プラグインやテーマの一時的な設定を保存する際
- リクエスト間でデータを持続させる必要がある場合
- コンテンツのバージョン管理での一時保存
- AJAX リクエストの結果をキャッシュする場合
構文
set_transient( string $transient, mixed $value, int $expiration = 0 )
パラメータ
$transient
(string): 保存するトランジェントの名前。$value
(mixed): 保存する値。$expiration
(int): トランジェントの有効期限(秒)。0の場合、無期限。
戻り値
set_transient
関数は、正常に値が保存された場合に true
を返し、失敗した場合には false
を返します。
関連する関数
使用可能なバージョン
WordPress バージョン 2.9 から利用可能です。
コアファイルのパス
wp-includes/option.php
サンプルコード
サンプルコード1: 基本的なトランジェントの設定
set_transient('my_transient', 'Hello World', 60);
このサンプルコードは、my_transient
という名前のトランジェントに「Hello World」という値を60秒間保存します。
サンプルコード2: ユーザーリクエストの結果をキャッシュ
$user_requests_count = get_transient('user_requests_count');
if ($user_requests_count === false) {
$user_requests_count = 0; // 初期化
}
$user_requests_count++;
set_transient('user_requests_count', $user_requests_count, 3600);
このコードは、ユーザーのリクエスト数をカウントし、毎回のリクエストでトランジェントを更新します。1時間キャッシュします。
サンプルコード3: トランジェントの削除
delete_transient('my_transient');
このサンプルコードは、前に設定した my_transient
トランジェントを削除します。
サンプルコード4: 条件に基づくトランジェントの保存
$data = some_function();
set_transient('cached_data', $data, 120);
このコードは、some_function()
の結果をトランジェントとして保存します。120秒間のキャッシュ。
サンプルコード5: トランジェントが存在する場合の処理
if (false !== ($cached_data = get_transient('cached_data'))) {
// キャッシュされたデータを使用
} else {
// データを再取得して保存
$data = fetch_data();
set_transient('cached_data', $data, 300);
}
このサンプルは、キャッシュされたデータが存在する場合はそれを使用し、存在しない場合は新しくデータを取得してトランジェントに保存します。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |
非推奨または削除されたバージョン
特定のワードプレスバージョンで非推奨または削除された情報はありません。