Contact form 7で不思議な現象に悩まされたので、メモしておきたいと思います。
acceptanceフォームタグはコメントアウトできない?
[acceptance]フォームタグを使って承諾確認チェックボックスを表示させていたフォームで、承諾確認チェックボックスが不要になりました。
承諾確認チェックボックスのフォームタグについては以下を参照してください。
再度使う場面もあろうかと、Contact form 7のフォーム内でHTMLタグのコメント型式(<!–こんなやつ—>)でコメントアウトしました。
実際にフォームを表示させてみると、承諾確認チェックボックスは表示されなくなりました。
ところが、送信ボタンを押すと、「メッセージを送信する前に承諾確認が必要です。」という承諾確認チェックボックスのチェックが未了であるというメッセージが出て送信できません。
なんでなの?と小一時間悩んだのですが、Contact form 7のフォーム編集画面に送信メールのタブがありますが、その部分の未使用タグに[acceptance]フォームタグが残っていました。
コメントアウトしているフォームタグなので、本来出るはずがないものです。
この現象から、Contact form 7のフォーム内はHTML型式のコメントが効かないのか、別の形式でコメントを書かないといけないのかわかりませんが、コメントの中までフォームタグを探しているようです。
さらに、acceptanceフォームタグは、コメント内でも送信前のチェックは行われるようです。
[acceptance]フォームタグを丸ごと消すことで、HTML上存在しない承諾確認チェックボックスの確認メッセージは表示されなくなりました。
まとめ
今回の現象が、acceptanceフォームタグだけなのかどうか調査していませんが、もし何らかの不思議現象があった場合には、コメントを疑った方がよいかもしれません。
これはバグなのか仕様なのかちょっとよくわかりません。