set_transient

説明

bool set_transient( string $transient, mixed $value [ , int $expiration = 0 ] )
トランジェントの値を設定する。

パラメータ

  • $transient
    トランジェント名(172文字以下)を指定。
  • $value
    保持する値を指定。
  • $expiration
    値を保持する秒数を指定(省略時は0)。

返り値

値を保持できた場合はtrueを、保持できなかった場合はfalseを返す。


注意

本関数は特定のデータを一時的または永続的に保持する。値の保持方法はサイトの環境に依存し、オブジェクトキャッシュ( wp_cache_set関数)かオプションテーブル( update_option関数など)が使用される。

パラメータ$transientはフィルター名やアクション名に使用され、WordPress本体が使用する名称と被らないように注意しなければならない。

配列やオブジェクトを保持する場合、パラメータ$valueにはシリアライズする必要はない。

保持期間を示すパラメータ$expirationは、"expiration_of_transient_{$transient}"フィルターを経て判定される(0の場合は永続的に保持)。


使用例

  • トランジェントの値を設定する。
    <?php set_transient( 'myplugin_data', $value ); ?>
  • 3時間保持するトランジェントの値を設定する。
    <?php set_transient( 'myplugin_data', $value, 3 * HOUR_IN_SECONDS ); ?>

フィルター

[3.0.0]はじめに"pre_set_transient_{$transient}"フィルターを呼び出す。パラメータ$valueには本関数が受け取った内容が格納されている。4.2.0以降は$expirationにはintでキャストした値が、4.4.0以降は$transienには本関数が受け取った内容が格納されている。
$value = apply_filters( "pre_set_transient_{$transient}", $value, $expiration, $transient );
[4.4.0]値を保持する前に"expiration_of_transient_{$transient}"フィルターを呼び出す。パラメータ$expirationにはintでキャストした値が、$valueには"pre_set_transient_{$transient}"フィルターの結果が、$transientには本関数が受け取った内容が格納されている。
$expiration = apply_filters( "expiration_of_transient_{$transient}", $expiration, $value, $transient );

アクション

[3.0.0]値を保持できた場合は"set_transient_{$transient}"アクションを呼び出す。パラメータ$valueには"pre_set_transient_{$transient}"フィルターの結果が格納される。3.6.0以降は$expirationには"expiration_of_transient_{$transient}"フィルターの結果が、4.4.0以降は$transienには本関数が受け取った内容が格納されている。
do_action( "set_transient_{$transient}", $value, $expiration, $transient );
[3.0.0]値を保持てきた場合は'setted_transient'アクションを呼び出す。パラメータ$transienには本関数が受け取った内容が格納されている。3.6.0以降は$valueには"pre_set_transient_{$transient}"フィルターの結果が、$expirationには"expiration_of_transient_{$transient}"フィルターの結果が格納されている。
do_action( 'setted_transient', $transient, $value, $expiration );

ソースファイル

/wp-includes/option.php

最終更新 : 2025年07月14日 10:26



お勧め

ショートコードを使ってテーマ内の画像URLを簡単に指定する(2018年5月27日 更新)

投稿記事の中で画像パーツを使いたいときがある。画像パーツの配置場所は、/imgディレクトリのようなテーマ外の場合と、/wp-content/themes/mytheme/imagesディレクトリのようなテーマ内の場合があり、今回は後者のケース。ショートコードを使って投稿記事の画像ファイルのURLを記述する方法を紹介したい。

リクエスト応答を終了する前に何かを処理する(2013年9月26日 更新)

PHPでは、register_shutdown_function関数を使うことでリクエストに対してレスポンスを返した後に何らかの処理を行うことができる。WordPressでもregister_shutdown_function関数は使えると思うのだが、テーマ内のテンプレートでページを表示した後で何かを行う場合はどうすればいいのか、ちょっと調べてみた。

投稿情報を連想配列で参照する(2018年5月27日 更新)

投稿情報は、タイトルや本文、投稿日時といったいくつかのデータが含んでおり、多くの場合オブジェクトになっている。これを連想配列で扱いたい場合はキャストして型変換することが多かった。基本的にはキャストで問題ないのだが、ふと目に留まったto_arrayメソッドが興味深かったのでメモとして残しておく。

段落ブロックに日付・時刻の入力支援を実装した(2023年1月25日 更新)

ブロックエディターには文字入力を支援するAutocompleteがある。自作ブロックだけでなく既存のブロックに適用できるため、ブロックの利用シーンを踏まえた入力支援機能を追加できる。

ブロックエディターのタグ入力にタグクラウド機能を追加した(2019年1月10日 更新)

ブロックエディターのタグ入力には「よく使われているタグから選択」から表示される「タグクラウド」がない。ブロックエディターの不満なところのひとつがこれであり、うまく解消することができないか考えてみた。