ワードプレスで構築したウェブサイトにお問い合わせフォームを設置する際、ほぼ盲目的に[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」を取得するように設定しています。

以上で、遷移元ページの情報を取得し、お問い合わせフォームに自動入力することができます。
閲覧者がフォームに入力する手間が省けるため、ユーザーエクスペリエンスが向上し、サイト運営者もより具体的な情報を取得できるようになります。

ぜひお試しください。