set_transient() の使い方|説明・引数・注意点

説明

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

コメント

タイトルとURLをコピーしました