【MW WPForm終了対策】Contact Form 7で完了ページにリダイレクトする方法【公式推奨】

Web制作

MW WPFormの開発終了に伴い、フォームの再構築を余儀なくされている制作現場が増えています。
特に多いのが、Contact Form 7(以下CF7)に移行したものの、

  • 完了ページへ遷移できない
  • JavaScriptで無理やり対応している
  • 有料アドオンに頼るしかない?

というケース。

ですが、実はCF7公式が紹介している方法で、無料かつ簡潔に完了ページ遷移が可能なんです。


結論:JavaScriptとfunctions.phpで完了ページ遷移はできる

公式ドキュメント(CF7公式リンク)では、次のようなJavaScriptイベントを使う方法が紹介されています。

document.addEventListener( 'wpcf7mailsent', function( event ) {
location.href = '/thanks/';
}, false );

ただし、footer.phpなどに直書きするのではなく、WordPressのfunctions.phpに記述して管理するのがベストです。


実装手順(functions.phpで対応)

以下のコードを、子テーマのfunctions.phpファイルに追記してください。

add_action( 'wp_footer', function() {
?>
<script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
location.href = '/thanks/'; // 任意の完了ページURLに変更
}, false );
</script>
<?php
});

ポイント解説

  • wpcf7mailsent:送信成功時に発火する公式イベント
  • location.href = '/thanks/';:送信後の遷移先
  • wp_footer:WordPressのフッター領域にスクリプトを挿入するフック

注意点

  • JavaScriptが無効な環境では動作しません(稀)
  • 完了ページ /thanks/ は事前に作成しておく必要があります
  • 複数フォームがある場合は event.detail.contactFormId を条件に含めて制御できます

例:

if (event.detail.contactFormId == '123') {
location.href = '/thanks/';
}

補足:Contact Form 7 で完了ページを使うメリット

  • GAやCVタグの設置が可能(完了ページでトラッキングしやすい)
  • 送信後に安心感を与える導線が作れる
  • 静的なthanks.htmlなどにも遷移できる

まとめ

MW WPForm終了後、CF7への移行は王道ですが「完了ページが出せない」と悩む必要はありません。

公式の方法を活用すれば、プラグイン不要・コードのみで対応可能です。


関連リンク


お困りの方へ

制作会社様や担当者の方で「実装が不安」「ついでにフォーム全体を整理したい」という方は、お気軽に[お問い合わせページ]からご相談ください。

タイトルとURLをコピーしました