説明
set_transient() は、データを一定時間だけ保存する(トランジェント)関数です。外部APIの結果のキャッシュによく使います。
基本構文
set_transient( string $transient, mixed $value, int $expiration = 0 ): bool
引数
$transient:トランジェント名$value:保存する値$expiration:有効期間(秒)。0は無期限
戻り値
保存できたら true。
使い方(サンプル)
set_transient( 'my_api_cache', $data, HOUR_IN_SECONDS );
注意点
HOUR_IN_SECONDSやDAY_IN_SECONDSなどの定数が使えます。- 期限切れは、アクセス時に削除されます。確実に永続化したいデータには向きません。
- トランジェント名は172文字以内にします。
実務での使いどころ
- 外部APIの結果や、重い処理の結果を、有効期限つきで保存するとき。
よくあるミスと対処
- 有効期限を省略している。省略(
0)すると、期限がなくなる。 - 保存したデータが、必ず残ると考えている。期限前でも消える場合があるため、
get_transient()の結果を確認する。 - 名前が長すぎる。名前は172文字以内にする。
NG例
set_transient( 'my_data', $data ); // 期限がない
OK例
set_transient( 'my_data', $data, 12 * HOUR_IN_SECONDS );
使い分け早見表
| 関数 | 役割 |
|---|---|
set_transient() |
有効期限つきで保存する |
get_transient() |
保存した値を取得する |
delete_transient() |
削除する |
関連項目
get_transient()、delete_transient()
公式リファレンス:set_transient() | Function | WordPress Developer Resources

コメント