以前にContact Form 7のon_sent_okの記述をfunctions.phpに移行する方法の記事を紹介させていただきましたが、今回は複数のメールフォームごとにメール送信完了後のランディングページを分ける方法について紹介させていただきます。
Contact Form 7のメールフォームごとに送信完了ページを用意する
ご利用のテーマのfunctions.phpを開き、メールフォームのID別にlocation.replace
の遷移先を指定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
//ID:1のメールフォーム add_action( 'wp_footer', 'mycustom_wp_footer1' ); function mycustom_wp_footer1() { ?> <script type="text/javascript"> document.addEventListener( 'wpcf7mailsent', function( event ) { if ( '1' == event.detail.contactFormId ) { location.replace("<?php echo home_url('/');?>thanks.hrml"); } }, false ); </script> <?php } //ID:200のメールフォーム add_action( 'wp_footer', 'mycustom_wp_footer2' ); function mycustom_wp_footer2() { ?> <script type="text/javascript"> document.addEventListener( 'wpcf7mailsent', function( event ) { if ( '200' == event.detail.contactFormId ) { location.replace("<?php echo home_url('/');?>complete/"); } }, false ); </script> <?php } |
上の例の場合は、ID:1のメールフォームの場合はthanks.htmlへ遷移させるということになります。
下の例だと、ID:200のメールフォームの時はcomplete/ページにランディングするようになります。
コメント