Wordpressのお問い合わせフォームプラグイン「 Contact Form 7 」で、2重投稿を防ぐ目的で、on_sent_ok を使って、Thank youページへ飛ばそうとしていたのですが、なぜかJSが動いていないことに気づいて、変だなーと思っていたら、

wp_footer();

footer.php に書いていないことが原因でした。


Contact Form 7 では、
wp_head()
でCSSと、jQueryを、

wp_footer()
で、フォームを制御する js を読み込んでいるようで、
この wp_footer() を実行しないと、
on_sent_ok で設定する jsが実行されないということが分かりました。


おそらく、Google Analyticsが動かないとか、色々言っている皆さんはだいたい、wp_footer(); が抜けてるのでは?と思いました。



他のプラグインでも、同じ原因で動かなくなることもあるかもなので、テーマを自作している人は注意ですね。