コンタクトフォーム7でできること

今回、クライアントからのリクエストで、フォームを使ってかなり複雑な動きを実現しました。

トピックに応じて、配送先、件名を変える

プルダウンメニューでユーザーが選んだ項目(トピック)に応じて、配送先メールアドレス、メールの件名を変えられる様にしました。

参考にしたのはこのページ

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で対応することにしました。

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ですが、まだまだできることってあるんですね。