今回、クライアントからのリクエストで、フォームを使ってかなり複雑な動きを実現しました。
トピックに応じて、配送先、件名を変える
プルダウンメニューでユーザーが選んだ項目(トピック)に応じて、配送先メールアドレス、メールの件名を変えられる様にしました。
参考にしたのはこのページ
Selectable recipient with pipes
以下の様に、|で区切り、左に選択肢として表示される項目、右側に配送作のメールアドレスを設定します。
[select your-recipient "CEO|ceo@example.com" "Sales|sales@example.com" "Support|support@example.com"]
メールの表示名と、メールアドレスは以下のコードで埋め込みできます。
表示名 [_raw_{field name}]
メールアドレス [_raw_your-recipient]
件名に表示名を埋め込むことにより、件名も変えることができます。
[_raw_{field name}]へのお問い合わせ -> CEOへのお問い合わせ
トピックに応じて、異なる入力欄を表示する
プルダウンやラジオボタンの選択肢に応じて、異なる入力欄を表示させる
こちらは専用のプラグインContact Form 7 – Conditional Fieldsで対応することにしました。
最初の選択肢に応じて、[group] [/group]で囲まれた入力欄が表示できる様になります。
<p>What kind of support do you want?
[select* support-type first_as_label "-- Choose support type --" "A Technical support" "B Sales"]</p>
[group A-technical-support-selected]
<p>Field A Your operating system: [select* operating-system first_as_label "-- Choose your operating system --" "Android" "iOS" "Linux" "Windows" "Other"]</p>
[/group]
[group B-sales-selected]
<p>Field B Where is your business located?
[select* continent first_as_label "-- Choose your continent --" "Europe" "America" "Africa" "Asia" "Oceania" "Antarctica"]</p>
[/group]
使い慣れたコンタクトフォーム7ですが、まだまだできることってあるんですね。