Contact Form 7 のフォーム内の JavaScript に余計な p タグが入る場合の対処方法

WordPress のメールフォームプラグイン Contact Form 7 では「コンタクトフォームの編集」画面からフォーム部分のHTMLを登録しますが、ここで JavaScript を直接書き入れている場合、スクリプトが正しく動かなくなる場合があります。Firefox のデバッグコンソールで「SyntaxError: expected expression, got ‘<‘」と出た場合は、スクリプト部分に余計な p タグが入っていないかチェックしてみてください。

これは autop フィルターという、WordPress が連続した改行を pタグに変換してしまう機能が働いているからです。Contact Form 7 もこの機能を利用していますが、これをキャンセルすることで上記の問題が解決できます。

方法ですが、wp-config.php に
define(‘WPCF7_AUTOP’, false);
と追加してください。詳しくはプラグイン作者の次のページを参照してください。

参考:定数指定で動作を制御する | Contact Form 7

pagetop