WordPressのメールフォームでよく使われる「Contact Form 7」。手軽で高機能な一方、標準では入力内容の確認画面がありません。送信前に内容を見直せる確認ページは、フォームの信頼感を高める大切な要素です。
結論から言うと、プラグイン「Contact Form 7 Multi-Step Forms」を使えば、確認ページとサンクスページを追加できます。この記事では、プラグインの導入から固定ページの作成、入力・確認フォームの設定、メール設定までを順に解説します。
目次
まず、確認ページを作るためのプラグイン「Contact Form 7 Multi-Step Forms」をインストールし、有効化します。

有効化すると、ポップアップが表示されます。

これは「セキュリティや機能の更新に関するメール通知を受け取り、基本的なWordPress環境情報の共有を許可するか」を尋ねる内容です。許可すると互換性の向上に役立つという案内ですが、「スキップ」で問題ありません。
有効化すると、Contact Form 7の作成画面に3つのボタン(multistep / multiform / previous)が新たに追加されます。これらが確認ページを作るためのタグです。

次に、「入力内容確認ページ」と「サンクスページ」の2つの固定ページを作成します。スラッグは、あとで指定するので分かりやすいものにしておきます。
スラッグの例:入力内容確認ページ → confirm/サンクスページ → thanks


通常どおり入力フォームを作成し、その最後に「multistep」の項目を追加します。

追加時は「First Step」にチェックを入れ、「Next Page URL」に入力内容確認ページのスラッグを入力します(先頭にスラッシュが必要です)。

挿入されたタグに間違いがないか確認します。

あわせて「submit」ボタンのラベルを「入力内容を確認する」などに変更しておくと分かりやすくなります(例:[submit "入力内容を確認する"])。

続いて、入力フォームのタグに対応した確認用のタグを作成します。入力フォームの各タグを、multiformタグに置き換えるイメージです。
例:入力フォームのタグ [text your-name] → 確認フォームのタグ [multiform "your-name"]

入力内容を修正できるよう、前のページに戻るための「previous」ボタンも配置します。


確認フォームの最後にも「multistep」の項目を追加します。ここでは「Last Step」「Send Email」にチェックを入れ、「Next Page URL」にサンクスページのスラッグを入力します(こちらも先頭にスラッシュが必要です)。

挿入されたタグに間違いがないか確認します。

ここが間違えやすいポイントです。管理者宛のメールと送信者宛の自動返信メールの設定は、「入力用フォーム」ではなく「確認用フォーム」の方で設定します。メールが実際に送信されるのは、最後のステップである確認用フォームだからです。
最後に、「入力ページ」と「入力内容確認ページ」の2つ分のPHPファイルを用意し、それぞれにフォームのショートコードを埋め込みます。
PHPファイル名の例:入力ページ → page-contact.php/入力内容確認ページ → page-confirm.php

それぞれのPHPファイルに、対応するフォームのショートコードを挿入します。idは、実際のフォームのIDに置き換えてください。
// page-contact.php(入力ページ)
<?php echo do_shortcode('
'); ?>
// page-confirm.php(入力内容確認ページ)
<?php echo do_shortcode('エラー: コンタクトフォームが見つかりません。
'); ?>
ここまでで設定は完了です。最後に自分でテスト送信をしてみて、「入力ページ」→「入力内容確認ページ」→「サンクスページ」と正しく遷移し、メールが届けば成功です。
Contact Form 7は標準では確認画面を持ちませんが、このプラグインを使えば、使い慣れたContact Form 7のまま確認ステップを追加できます。入力ミスや誤送信を防ぎ、ユーザーが安心して送信できるフォームに仕上げられます。