私は2つの異なるバージョンのWordPressを実行している2つのサイトでHTML5を使用しています。それらは両方とも同じ振る舞いを示します、そして私はこれを直すのを手伝ってほしいと思います。
<label for="url">Website</label> <input type="url" name="url" id="url" value="<?php echo esc_attr($comment_author_url); ?>" placeholder="Enter Website Address (optional)" pattern="https?://.+">
テストでは、URLを入力しないと発生するcomment_author_urlの問題を確認しました。何らかの理由で、WordPressはプレースホルダーのテキストを選択してデータベースに保存しています。
http:// EnterWebsiteAddress(オプション )
なぜこれが起こっているのか特定しようとして、私は本当に苦労しています。 placeholder属性は入力値の内側にはないので、取得されるべきではありません。この同じコードが他のアプリケーションで問題なく使用されています。
誰もがWordPressでこれを修正する方法を知っていますか?
更新:私はこれについてかなりの研究をしました、そして私は私の発見を分かち合うと思いました。問題はWordPress自体の中のcomment_form関数から来ています。
この問題を回避するには、2つの方法があります。
私はこれが同じ問題に遭遇した他の人たちに役立つことを願っています。現時点では、WordPressはXHTMLをサポートすることだけを意図しているので、私はWordPressにパッチを提出していません。
この問題を回避するには、現在2つの選択肢しかありません。
注:多くの調査の結果、私自身の質問に答えました。
私はこの問題も抱えています、プレースホルダー属性を削除するだけで、解決方法は見つかりませんでした:/どのブラウザでも発生しているようです。プレースホルダ属性をサポートしていないブラウザにはJavaScriptフォールバックを使用していますが、それがあってもなくても、ワードプレスは入力の値としてプレースホルダテキストを選択するようです。