contact form7のthanksページ

WordPress
スポンサーリンク

contact form7でthanks-pageに飛ばす書き方をまとめておきます。

ひとつのお問い合わせフォームの場合

お問い合わせフォームがひとつだけの場合は、functions.phpに下記のコードを書いて、locationのところに、表示させたいthanks-pageのurlを記載するだけで大丈夫です。

add_action( 'wp_footer', 'bzbsk_cf7_form_submit' );
function bzbsk_cf7_form_submit() {
echo <<< EOD
<script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
location = 'https://sample.com/contact/thanks/';
}, false );
</script>
EOD;
}

複数のお問い合わせフォームがある場合

複数のお問い合わせフォームをそれぞれthanks-pageに飛ばしたい場合、functions.phpに下記のコードを書いて、post-idとurlを記載します。

add_action( 'wp_footer', 'add_origin_thanks_page' );
function add_origin_thanks_page() {
echo <<< EOD
<script>
var thanksPage = {
790: 'https://sample.com/contact1/thanks/',
797: 'https://sample.com/contact2/thanks/',
798: 'https://sample.com/contact3/thanks/',
};
document.addEventListener( 'wpcf7mailsent', function( event ) {
location = thanksPage[event.detail.contactFormId];
}, false );
</script>
EOD;
}

ちょっと紛らわしいのは、id=””と書かれている部分ではなく、ホバーしたら表示されるpost-idの方になります。(contact form7のアップデートで最近このようになったようです。)

タイトルとURLをコピーしました