Wordpress ContactForm7確認画面と送信完了ページの設置

2020-06-22

ContactForm7では、簡単にメールフォームを作成できますが、入力された項目の確認画面や、送信画面といったものは、少し手を加えないといけませんので、今回は、その方法を記載していきます。


確認画面の追加

確認画面については、「Contact Form 7 add confirm」というプラグインを追加インストールして、活用していく方法が簡単かと思います。
プラグインはこちら
インストールすると、コンタクトフォーム編集画面の「フォーム」タブに[確認ボタン]or[戻って編集ボタン」タグが追加されているので、それらをクリックして、項目を追加していきます。

実際の表示では、「送信」/「内容を修正する」のボタンは表示されず、「確認する」のボタンのみが表示され、確認画面に遷移すると、「送信」/「内容を修正する」のボタンが表示されます。

また、入力項目の確認画面は、ページが遷移しているわけではないので、ご注意ください。


ステップごとのメッセージ表示

フォームの画面にステップ毎にメッセージを表示したい場合などは、下記のようなクラスを利用して、メッセージを追記することもできます。

入力画面のみで表示: wpcf7c-elm-step1
確認画面のみで表示: wpcf7c-elm-step2
完了画面のみで表示: wpcf7c-elm-step3

という具合に、コンタクトフォーム編集画面にて、入力しておくと、それぞれのステップでメッセージが表示されます。
送信完了画面を作成した場合は、wpcf7c-elm-step3の不要かもしれませんが、一応、残しておいても良いかと思います。


送信完了画面の作成

ContactForm7では、入力ページで完結しているので、送信完了画面は、別途固定ページなどで作成しておいて、リダイレクトさせる方法になります。

上記の内容を、header.phpまたはfooter.phpに記述しておきます。
そうすると、送信ボタンが押された時に、ページ遷移の処理が実行されます。


備考

上記のソースを、そのまま記載しておくと、Wordpressで構築されている全ページに表示されてしまうので、is_page()などで、表示させるページを指定しておくのが、ベストかと思います。
また、function.phpに記述する方法もありますが、内容としては同じでので、参考程度に。

get_the_ID()の部分で、処理を実行するページのIDを指定しておきます。