Contact Form 7を送信後に、サンクスページなど異なるURLの送信完了へリダイレクトさせたい場合、いままではon_sent_okを使用している人が多いと思いますが、別の方法をここでは紹介したいと思います。
on_sent_okは廃止される予定です
そもそもon_sent_okは廃止される予定になっています。いやon_sent_okとon_submitはContact Form 7 5.0で正式に廃止されたようです。なので、今後新しくContact Form 7を使う人は、on_sent_okを使えないかと思います。
フォームが1つだけの場合
functions.phpに下記を入れます。
// contactformサンクスページリダイレクト add_action( 'wp_footer', 'add_thanks_page' ); function add_thanks_page() { if( get_the_ID() == '14' ) { /* ページID */ echo <<< EOD <script> document.addEventListener( 'wpcf7mailsent', function( event ) { location = 'https:/shiritai.net/req-thanks/'; /* 遷移先のURL */ }, false ); </script> EOD; } }
ページIDはお問い合わせフォームなどを使用している固定ページのIDです。
遷移先のURLは、サンクスページのURLです。
フォームが複数の場合
お問い合わせフォームが複数あって、それぞれサンクスページのメッセージも変えたい場合があると思います。
例えば1つは資料請求フォーム、もうひとつはお問い合わせフォームなど。
その場合は下記をfunctions.phpに入れます。
// contactformサンクスページリダイレクト add_action( 'wp_footer', 'add_thanks_page' ); function add_thanks_page() { if( get_the_ID() == '16' ) {/* ページID */ echo <<< EOD <script> document.addEventListener( 'wpcf7mailsent', function( event ) { location = 'https:/shiritai.net/contact-thanks/'; /* 遷移先のURL */ }, false ); </script> EOD; } if( get_the_ID() == '14' ) { /* ページID */ echo <<< EOD <script> document.addEventListener( 'wpcf7mailsent', function( event ) { location = 'https:/shiritai.net/prof/req-thanks/'; /* 遷移先のURL */ }, false ); </script> EOD; } }
固定ページに入れる方法
functions.phpに入れるのが怖い人は、お問い合わせページの中に下記のスクリプトを入れれば良いと思います。
お問い合わせフォームのショートコードの下にでも。
[contact-form- 7 id="10" title="コンタクトフォーム 1"] ~~~~~~~~~~~~↓↓↓↓↓↓↓↓↓ <script> document.addEventListener( 'wpcf7mailsent', function( event ) { location.replace('遷移先のURL'); }, false ); </script>
コメントをどうぞ