説明
パラメータ
- $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 );
$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 );
do_action( 'setted_transient', $transient, $value, $expiration );
ソースファイル
/wp-includes/option.php最終更新 : 2019年04月23日 14:56
関連
お勧め
ブロックエディターの色設定を変えてみる(2019年12月11日 更新)
バージョン5.3で機能強化されたブロックエディター。対応を考えて新テーマ「Twenty Twenty」のソースコードを眺めていく。
「姓」の後に「名」を(2013年11月6日 更新)
WordPressのユーザー情報設定ページでは、「名(First name)」の後に「姓(Last name)」を入力するようになっている。日本向けのユーザー登録できるサイトの場合、この並び順はちょっと違和感があるので、「姓」「名」の順に入力できるようにした。
ホームディレクトリから過去のファイルを削除する(2013年1月27日 更新)
WordPressで構築したサイトのホームディレクトリには、現在使われていないファイルが残っている時がある。3.5.1もリリースされたことだし、これを機にホームディレクトリを整理整頓した。Login rebuilder 2.6.5の新機能紹介(2021年3月8日 更新)
今回追加したものは、管理者のダッシュボードに表示されるログウィジェットの日時について任意の書式を設定する機能である。これまで日時の書式はサイト設定を利用していたが、ログの日時については揃えた方が見やすいと思ったので、今回の機能で対応することにしました。
投稿情報を連想配列で参照する(2018年5月27日 更新)
投稿情報は、タイトルや本文、投稿日時といったいくつかのデータが含んでおり、多くの場合オブジェクトになっている。これを連想配列で扱いたい場合はキャストして型変換することが多かった。基本的にはキャストで問題ないのだが、ふと目に留まったto_arrayメソッドが興味深かったのでメモとして残しておく。