Trust Formで一部のフィールドの値をCookieに保存する
Posted by admin at 17:15 日時 2013/11/11
ユーザーにフォームから何かを投稿させる際、一部の情報をブラウザにCookieで保存して、次の入力からは保存された情報を読み込んで入力の手間を省くということがあると思いますが、確認さんのWordPressプラグインTrust Formでそれをやる実例です。
まず、Cookieに保存する処理。
Cookieの保存はWordPressがヘッダーを送信するまえに行なわないといけないので、ヘッダー送信前の適当なアクションフックにひっかけます。ポイントとしては、この時点ではグローバル変数 $trust_form がセットされていないので、
$trust_form = new Trust_Form_Front(3);
という感じで、フォームIDを指定してTrust_Form_Frontクラスのインスタンスを生成しています。あとはまあ、よしなにCookieに保存してください。シリアライズしているのは、複数のフィールドをCookieに保存するためで、ひとつだけなら特に不要です。
Cookieからの情報の読み出しは、Trust Formのテンプレートから可能です。
$_POSTにつっこんでいるだけですね。Trust Formのフィールドに初期値を与えるでやっているのと同じです。
あとは、テンプレートのどこかで、「この情報を保存する」チェックを入れておいてください。
<label><input type="checkbox" name="tr_default_3" value="1" />IDを保存する</label>
Trust Form、なかなか便利に使えますね!