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

最終更新 : 2019年04月23日 14:56



お勧め

初期化に関連するアクションのおさらい(2013年11月27日 更新)

いつも何気なくfunctions.phpで使っているafter_setup_themeアクションやinitアクション。普段はあまり意識していなかったが、ふとしたことからどんな順番に呼び出されるのか気になってしまい、ちょっと調べてみた。

5.3の新機能:サイト管理者のメールアドレスを定期的に確認する(2019年9月27日 更新)

WordPress 5.3 Beta 1」に記載されていた「Admin Email Verification」の項目が目に留まる。管理者のメールアドレスを定期的に確認するという仕組みがどんなものなのか気になったので、ちょっと調べてみた。

3.6リリース直前チェック(2013年7月26日 更新)

$wpdbは、WordPressのデータベースにアクセスする際に使用できる便利なオブジェクト。独自テーブルの利用やデータ検索の最適化など、標準提供される関数では実現できないことを手助けしてくれる。そんな$wpdbのescapeメソッドが3.6で非推奨(deprecated)になる。

固定ページを投稿ページ用テンプレートファイル(single.php)で表示する(2013年7月31日 更新)

固定ページと投稿ページのデザインが共通の場合、同じ内容のsingle.phpとpage.phpを用意すれば事足りるが、デザインの修正時は二度手間になってしまう。そこで、固定ページをsingle.phpで表示するようにできないか考えてみた。

購読者は管理者ページのアクセス禁止(2013年11月12日 更新)

購読者(subscriber)は、通常「ダッシュボード」「プロフィール」にアクセスできるが、今回はプロフィールを独自に管理する準備を兼ねて、これらのページにアクセスできないようにブロックしてみた。