WordPressについての記事

Contact Form7で送信後にサンクスページに遷移させる方法(お問い合わせフォームが複数の場合)

Contact Form7で送信後にサンクスページに遷移させる方法(お問い合わせフォームが複数の場合)

前回『Contact Form7』で送信後にサンクスページに遷移させる方法を記載しましたが、サイトによってはお問い合わせフォームが複数あって、それに伴いサンクスページも複数ある場合ありますよね。
そのような場合の遷移方法を紹介します。

オフィシャルのお問い合わせや採用ページ等でサイト内にお問い合わせフォームが複数あったりしますよね。

前回の記事はこちら
https://www.sasatatsu-blog.com/web/wordpress/259/

複数のお問い合わせフォームに対応させる手順

各お問い合わせフォーム送信後のサンクスページを作成しておきます

「thanks-○○」などお問い合わせフォーム別にそれぞれ用意しておきます。

functions.phpに遷移させるコードを追加します。

add_action( 'wp_head', 'mycustom_wp_footer' );

function mycustom_wp_footer() {
    $thanks01 = 'スラッグ名';
    $thanks02 = 'スラッグ名';
    $thanks03 = 'スラッグ名';
  ?>
  <script>
  document.addEventListener( 'wpcf7mailsent', function( event ) {

        if('ContactForm7のID' == event.detail.contactFormId) {
            location = '<?php echo home_url('/'.$thanks01); ?>';
        } else if('ContactForm7のID' == event.detail.contactFormId) {
          location = location = '<?php echo home_url('/'.$thanks02); ?>';
        } else if('ContactForm7のID' == event.detail.contactFormId) {
          location = location = '<?php echo home_url('/'.$thanks03); ?>';
        }

      }, false );
      
  </script>
  <?php
}

サンクスページを格納する変数をページ分用意しておきます。

$thanks01 = 'スラッグ名';
$thanks02 = 'スラッグ名';
$thanks03 = 'スラッグ名';

if文でお問い合わせフォームを分岐して、それぞれ送信後のサンクスページを格納した変数を追加します。

if('ContactForm7のID' == event.detail.contactFormId) {
    location = '<?php echo home_url('/'.$thanks01); ?>';
} else if('ContactForm7のID' == event.detail.contactFormId) {
    location = location = '<?php echo home_url('/'.$thanks02); ?>';
} else if('ContactForm7のID' == event.detail.contactFormId) {
    location = location = '<?php echo home_url('/'.$thanks03); ?>';
}

「Contact Form7のID」はショートコードに記載されているIDです。Contact Form7の管理画面で確認できます。
コード内の‘ContactForm7のID’の箇所に各お問い合わせフォームに対応したIDを数字で入れればOKです。

おわりに

お問い合わせフォーム別にサンクスページがあると、ページに記載する内容などを変えたりできますので、利用者の満足度も上げることができると思います。
Googleアナリティクスでサンクスページをコンバージョンにしている場合でも、サンクスページ別にコンバージョンを取得できますので是非利用してみてください。