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



お勧め

Posts filter multiselect:プラグイン作ってみました(2022年4月8日 更新)

先週の金曜日、知り合いの方から「投稿一覧ページで絞り込みを行う際、複数選択できないか」といった問い合わせがあり、その時には「標準では無理ですね」と返答しました。このこと自体は事実なのですが、要するに「複数選択可能なドロップダウンメニュー」が実現できれば対応するのはそれほど難しくないような気がしました。この週末、そんなノリでちょっとコーディングしてできたのがこのプラグインです。

全投稿を取得するのはnopaging=1でいい(2011年8月31日 更新)

query_posts関数(またはWP_Queryクラス)を使う場合、取得する件数の指定を省略すると管理者ページの「表示設定」-「1ページに表示する最大件数」の指定値分だけの投稿情報を取得する。それでは条件にマッチするすべての投稿情報を取得するには?

Contact Form 7に確認フェーズを(2012年12月16日 更新)

Contact Form 7はWordPressによるサイト製作でお世話になることが多いプラグインの1つ。ただ、クライアント様によっては、入力、確認、送信の3フェーズにしたいという要望があり、そんな時は別の方法を採用していたのですが、JavaScript(jQuery)を使ってページ遷移しなくてもいいなら確認フェーズは用意できるかなと思い、作り込んでみた。

古めのリビジョンを削除した時のメモ(2022年5月16日 更新)

大きく育ったデータベースを整理するため、古めのリビジョンとそれに紐づいたカスタムフィールドデータを削除。と思ったら「The total number of locks exceeds the lock table size」というエラーが発生して削除できなかった。

プラグインで注意が必要な関数(2013年11月27日 更新)

先日「Login rebuilder」という自作プラグインをアップデートした際、ユーザーさんからエラーになると連絡をいただいた。標準環境では問題なく、どうやら何らかのプラグインが影響しているらしい。