ContactForm7で送信完了画面に飛ばす最低な方法

いろいろな方法があるけど、
なんやかんやとうまくいかないので、かなり初心に帰った基本中の基本の方法です。

次の内容をfunction.phpに入れるだけです。

 

add_action( ‘wp_footer’, ‘add_thanks_page’ );
function add_thanks_page() {
  if( get_the_ID() == ‘9’ ) {
    echo <<< EOD
<script>
let search_query = document.getElementById(“wpcf7-f5-p9-o1”).innerHTML;
if(search_query.indexOf(‘ありがとうございます。メッセージは送信されました。’) != -1){
  location = ‘飛ばしたいページの’;  
}
</script>
EOD; }}

 

ざっくりいうと

1.post_id=9の場合、これをページ末に記述します
2.「wpcf7-f5-p9-o1」というIDのDIVを探して
3.その中に「ありがとうございます。メッセージは送信されました」の文字があったら飛ばす。

というだけです…

 

jQueryとかも使っていなくてカッコよくないけど、とりあえず動けばヨシ! by.現場より

 

Contactform7のほうでサンキューメッセージを変えていたら
indexOfの部分を変えればOK