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>
コメントをどうぞ