Contact Form 7 で送信完了後に別ページに遷移させる方法
WordPressでとてもお世話になっている「Contact Form 7」ですが、
送信完了後の表示が分かりずらいのがやや難点です。
そこで、送信完了ページを別ページに分け、フォーム送信後に
送信完了ページにリダイレクトさせる方法をご紹介します。
デフォルトの表示
通常、Contact Form 7 でフォームを送信すると
以下のようにフォーム下にメッセージが表示されますが、
送信が完了したのかがパッと見て分かりにくい作りとなっています。
特に、フォームが長い場合は見落してしまう場合もあるので注意が必要です。
送信完了ページ(サンクスページ)を作成
固定ページで送信完了ページを用意します。
送信完了ページにリダイレクトさせるコードを記述
テーマファイルのheader.phpに以下のコードを記述します。
1 2 3 4 5 |
<script> document.addEventListener( 'wpcf7mailsent', function( event ) { location = 'https://example.com/thanks/'; }, false ); </script> |
location = ‘ ‘ 部分のURLは、
前項で作成した固定ページのURLを指定します。
送信完了ページを持たせることで、
送信完了したことが視覚的に分かりやすくなるだけでなく、
送信完了ページにPRしたいコンテンツを表示するということもしやすくなります。
Invisible reCAPTCHAを使うとリダイレクトが効かなくなるので注意
フォームのみにreCAPTCHAを表示させるためにプラグイン「Invisible reCAPTCHA」を使う場合がありますが、「Invisible reCAPTCHA」を使うとサンクスページへのリダイレクトが効かなくなってしまうため注意が必要です。