为什么WordPress不尊重我的HTML?

时间:2014-05-19 作者:Django Reinhardt

我在WordPress中有一个页面,其中包括以下有效的HTML5:

<div id="bookLesson">
    <a href="lessons.php"><h1>Book your first lesson today</h1></a>
</div>
但是,当它在页面上呈现时,看起来是这样的:

<div id="bookLesson">
    <a href="lessons.php">
    <br />
    <h1>Book your first lesson today</h1>
    <p></a>
</div>
我在文本模式下编辑,为什么要添加<br><p> 标签?

enter image description here

2 个回复
SO网友:Django Reinhardt

找到了答案。只需将以下内容添加到函数中即可。php:

remove_filter( \'the_content\', \'wpautop\' );
remove_filter( \'the_excerpt\', \'wpautop\' );

http://codex.wordpress.org/Function_Reference/wpautop#Disabling_the_filter

SO网友:Rarst

简单的解释是,WP并不期望人们键入有效的HTML。它希望他们键入文本,可能在这里和那里使用HTML。

因为浏览器并没有那个么宽容,所以当输出所说的文本时,WP试图将其粉碎成类似于真实HTML的东西。取得了不同程度的成功(wpautop() 您发现的函数)。

虽然无法连贯地解释函数所做的一切,但简而言之,它试图将文本y内容转换为文本的段落,并远离块y内容。

它认为a 成为文本y,以及h* 所以,当你试图将前者置于后者之外时,它会变得混乱和混乱,即使它是技术上有效的HTML。

结束