This page is also available in English.
入力項目のデフォルト値は通常フォームタグの値の部分から得られますが、これをフォームが置かれている文脈から取得することが可能です。
それには、フォームタグに default:{source}
オプションを追加して、デフォルト値を取得したいデータソースを指定します。利用可能なデータソースは、get
(HTTP GET 変数)、post
(HTTP POST 変数)、そして post_meta
(カスタムフィールド) です。また、ログインユーザーの情報も利用可能です。
例として、”your-name” を名前に持つ項目があるとします:
[text* your-name]
ここで HTTP GET 変数からデフォルト値を得るには、default:get
オプションをフォームタグに追加します:
[text* your-name default:get]
これで、この項目はデフォルト値を、同じ名前 (“your-name”) を持った GET 変数から取得するようになります。フォームがあるページの URL にクエリー文字列を加えてアクセスしてみましょう:
http://example.com/contact/?your-name=John+Smith
問題なく動いていれば、当該項目に「John Smith」と入力されているはずです。
同様のロジックで、フォームタグに default:post_meta
オプションが指定されていて、フォームを含んだページに “your-name” という名前のカスタムフィールドが設定されている場合に、そのカスタムフィールド値がデフォルト値になります。
では、単一のフォームタグに2個以上 default
オプションが指定された場合はどうなるでしょう。次のフォームタグの場合を考えてみましょう:
[text* your-name default:get default:post_meta "Your Name"]
このフォームタグは2個の default
オプションと値 “Your Name” を持っています。オプションは前から順に評価されます。この例では、default:get
が最初に評価されます。もし GET 変数 “your-name” に値があればそれがデフォルト値に使われます。その値が空の場合は、次に default:post_meta
が評価されます。どちらのオプションにも値がない場合は、”Your Name” が使われることになります。