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

説明

get_transient() は、一時的に保存したデータ(トランジェント)を取得する関数です。有効期限が切れていれば false を返します。

基本構文

get_transient( string $transient ): mixed

引数

  • $transient:トランジェント名

戻り値

保存した値。存在しない・期限切れなら false。

使い方(サンプル)

$data = get_transient( 'my_api_cache' );
if ( false === $data ) {
	// 取得し直して保存
}

注意点

  • 保存した値自体が false の場合と区別がつかないため、厳密比較(false ===)で判定します。
  • オブジェクトキャッシュが有効な環境では、データベースではなくメモリに保存されます。

実務での使いどころ

  • 外部APIの結果や、重い処理の結果を、一時的に保存して使い回すとき。
  • 有効期限つきで、データをキャッシュするとき。

よくあるミスと対処

  • 保存されていない、または期限切れのときは false が返る。保存した値が false だと区別できない。=== で比べる。
  • トランジェントは、期限前でも消える場合がある。消えても動くように、作り直す処理を用意する。
  • 外部の応答などを、保存せずに毎回取得している。

NG例

$data = get_transient( 'my_data' );
echo $data['title']; // 無い場合に、エラーになる

OK例

$data = get_transient( 'my_data' );
if ( false === $data ) {
	$data = my_fetch_data();
	set_transient( 'my_data', $data, HOUR_IN_SECONDS );
}

使い分け早見表

関数 役割
get_transient() 保存した値を取得する
set_transient() 有効期限つきで保存する
delete_transient() 削除する

関連項目

set_transient()、delete_transient()

公式リファレンス:get_transient() | Function | WordPress Developer Resources

コメント

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