2012/06/18: Contact Form 7 で、on_sent_ok が動かない
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(); が抜けてるのでは?と思いました。
他のプラグインでも、同じ原因で動かなくなることもあるかもなので、テーマを自作している人は注意ですね。
wp_footer();
を
footer.php に書いていないことが原因でした。
Contact Form 7 では、
wp_head()
でCSSと、jQueryを、
wp_footer()
で、フォームを制御する js を読み込んでいるようで、
この wp_footer() を実行しないと、
on_sent_ok で設定する jsが実行されないということが分かりました。
おそらく、Google Analyticsが動かないとか、色々言っている皆さんはだいたい、wp_footer(); が抜けてるのでは?と思いました。
他のプラグインでも、同じ原因で動かなくなることもあるかもなので、テーマを自作している人は注意ですね。
2012/06/18: wp_head(); から jQueryだけ読み込まないようにする
以下のように書けば、header.php などで、wp_headを実行する前に、wp_deregister_script('jquery')と書けば
jQueryだけ、wp_headの読み込みから削除できます。
jQueryだけ、wp_headの読み込みから削除できます。
<?php wp_deregister_script('jquery'); ?>
<?php wp_head(); ?>