为什么WordPress将结束标记添加到我的<input>标记(void元素)?

5 html wordpress

假设我在wordpress上有一个表单,在这个表单中我有三个隐藏的表单字段,如下所示......

<input name="One" type="hidden" value="1" />
<input name="Two" type="hidden" value="2" />    
<input name="Three" type="hidden" value="3" />
Run Code Online (Sandbox Code Playgroud)

现在我点击了保存.当在浏览器的源代码中呈现时,我看到它们嵌套在这样......

<input name="One" type="hidden" value="1">
   <input name="Two" type="hidden" value="2">
      <input name="Three" type="hidden" value="3">
      </input name="Three" type="hidden" value="3">
   </input name="Two" type="hidden" value="2">
</input name="One" type="hidden" value="1">
Run Code Online (Sandbox Code Playgroud)

此页面设置为HTML 5,具有正常的doctype,并在最新的chrome/firefox上呈现如下.

正如您所看到的,几乎就像wordpress没有将这些隐藏的输入元素视为独立的.当我尝试用标签自己关闭它时,它仍然会像这样重写它.我从来没有见过这样的事情,但我知道wordpress在过去重写了它认为无效的代码已经取得了很多自由.

任何想法可能会发生在这里?

Mic*_*l_B 3

看来 WordPress 将代码呈现为 XHTML。因此,所有元素都需要闭合语法(包括void 元素的自闭合语法)。

这里有一些可能对您有帮助的更多信息。
如何在 WordPress 中关闭标记的自关闭标签(例如,对于 HTML5 或 HTML4)?