フォームタグの名前にコロンが使われている。

This page is also available in English.

フォームタグの名前の中でコロン (:) を使うことは可能ですが、推奨はされません。

フォームタグの名前の第一の役割はフォームコントロール要素の name 属性値を指定することですが、他にもフォームコントロールと CSS の ID セレクターやクラスセレクターを紐付けるための変数部分にも使われます。セレクター内でコロンが使われると、ブラウザーがそれを擬似クラスの接頭辞と誤認する可能性があり、予期せぬ挙動につながることがあります。

フォームタグの名前にコロンを使わなくてはならない、というケースは通常まずないでしょう。この警告メッセージを受けたなら、それはフォームタグに誤設定があることが理由かもしれません。フォームタグが正しいフォーマットで使われていることを確認しましょう。

次のフォームタグはよくある間違いを含んだ例です:

[text* class:required your-name "John Smith"]

おそらくフォームタグの名前を your-name としたかったのでしょうが、このフォームタグはそのようには機能しません。このフォームタグでは class:required がその名前です。フォームタグの構文で説明されている通り、フォームタグの名前にはそのタグの2番目の単語が割り当てられ、また名前は他のオプションや値より前に来ます。

正しいフォーマットは次のようになります:

[text* your-name class:required "John Smith"]

それから、フォームタグを修正した場合は、メールタブパネルにて対応するメールタグの置換も必要になるので忘れないように注意してください。

WordPress のお問い合わせフォームプラグイン。シンプル、でも柔軟。