ワードプレスで構築したウェブサイトにお問い合わせフォームを設置する際、ほぼ盲目的に[Contact Form 7]を導入しています。
きっと多くのエンジニアの方々も同様ではないでしょうか?
今日はそんな大人気のプラグイン[Contact Form 7]を改造して、「遷移元ページの情報を取得してお問い合わせフォームに自動入力する方法」を紹介します。
たとえば、イベント情報サイトを運営していたとして、参加登録フォームを[Contact Form 7]で作成し、
閲覧者は求人情報を一通りチェックして、気になった求人があればそのページの「お申し込み」をクリックすることで、お申し込みページに移動し、同時に「求人名(ページタイトル)」と「ページURL」が引き継がれて、最終的には通知のメールにも表示されるようにすることができます。
遷移元ページのリンクを改造
まずは、お問い合わせフォームに遷移する前のリンク文字列に情報を追加します。
通常は次のようにリンクさせます。
<a href="<?php echo esc_url( home_url('/event-entry') ); ?>イベントに参加する</a>
これを次のように書き換えます。
<a href="<?php echo esc_url( home_url('/event-entry') ); ?>?event-name=<?php echo get_the_title();?>&event-url=<?php echo get_the_permalink(); ?>">イベントに参加する</a>
ここでは「<?php echo get_the_title();?>」で現在ページのタイトルを、「<?php echo get_the_permalink();?>」で現在ページのURLを、それぞれ取得して、「event-name」と「event-url」という名前で指定しています。
[Contact Form 7]のフォームを編集する
次に[Contact Form 7]のフォームを編集します。
<label>希望するイベント</label> [text event-name default:get] <span style="display:none;">[text event-url default:get]</td>
ここでは「default:get」を使用して、URLパラメータからの値を取得します。
先ほどリンク文字列に追加したパラメータ「event-name」と「event-url」を取得するように設定しています。
以上で、遷移元ページの情報を取得し、お問い合わせフォームに自動入力することができます。
閲覧者がフォームに入力する手間が省けるため、ユーザーエクスペリエンスが向上し、サイト運営者もより具体的な情報を取得できるようになります。
ぜひお試しください。