WordPressのContact Form 7プラグインは、メールの送信を完了するとon_sent_okで指定のページへ遷移させる設定が可能です。
完了ページへ遷移させる方法は以前の記事でも紹介させていただいておりましたが、この設定が2017年中に非推奨になるようですので、今回はon_sent_okで完了ページへ遷移させる設定を、funstions.phpに移行する方法を紹介させていただきます。
[WP]Contact Form 7で完了画面に遷移させる方法WordPressのContact Form 7は高機能なメールフォームのプラグインですが、メール送信完了画面が用意されていません。 そこで、メールフォームの画面で送信ボタンがクリックされたら、あらかじめ用意した完了画面にJavascrip...
on send ok の設定をfunstions.phpへ移行
WordPressの管理画面にログイン後、お問い合わせページへ進みます。メールフォームの「その他の設定」タブをクリックして以下のようなon send okの記述がある場合、
1 |
on_sent_ok: "location.replace('http://www.webantena.nrt/thanks/');" |
2017年中にはこの設定が非推奨になるようですので、ご利用のテーマファイルのfunnstion.phpに以下のコードを追加するようにします。
1 2 3 4 5 6 7 8 9 10 11 |
add_action( 'wp_footer', 'mycustom_wp_footer' ); function mycustom_wp_footer() { ?> <script type="text/javascript"> document.addEventListener( 'wpcf7mailsent', function( event ) { location.replace("<?php echo home_url('/');?>thanks/"); }, false ); </script> <?php } |
location.replace()にはon_sent_okで設定していたメール送信完了ページのURLを指定します。
funnstion.phpにコードを追加したら、Contact Form 7の「その他の設定」内に指定していたon send okの設定は削除します。
最後にWEBサイトのソースコードを確認し、wp_footer()
で出力される箇所(ページソースの下部)に以下のような記述が追加されていれば移行完了です。
1 2 3 4 5 |
<script type="text/javascript"> document.addEventListener( 'wpcf7mailsent', function( event ) { location.replace("https://webantena.net/thanks/"); }, false ); </script> |
参考ページ
https://contactform7.com/2017/06/07/on-sent-ok-is-deprecated/
コメント