WordPress wpautop问题

时间:2015-11-19 16:47:41

标签: wordpress wordpress-theming

我已通过给定代码禁用了wpautop:

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

此功能有效。但我的实际问题是,它删除了我在内容中手动使用的自定义“p”标签。

所以问题是,当我不使用上面给出的代码时,会有自动p标记破坏我的网站,当我禁用它们时,自定义p标记也会被禁用。< / p>

2 个答案:

答案 0 :(得分:1)

避免wpauto问题的最简单最简单的方法是了解wpautop的工作原理,

任何未用块元素包装的纯文本或内联元素都将自动换行为p。如果元素是块并且在其中没有两个换行符,则它不会用P以及其中的元素换行,空的内联元素将被剥离并移除。

示例

内联

<img src="blabal.jpg">将输出<p><img src="blabal.jpg"></p>

I am awesome将输出<p>I am awesome</p>

<span>Really?</span>将输出<p><span>Really?</span></p>

<div><img src="blabal.jpg"></div>将输出<div><img src="blabal.jpg"></div>

<div>I am awesome</div>将输出<div>I am awesome</div>

<div><span>Really?</span></div>将输出<div><span>Really?</span></div>

<span></span>将不输出任何内容,(将删除空内联元素。),

我真的很喜欢wpautop,我从不禁用它,我只是用DIV包装任何内容如果有一个我不想要P的元素,我还有一个短代码,当元素为时避免wpauto在内部,当你有一个想要避免自动p标签的长屁内容时它很有用

答案 1 :(得分:1)

这是我刚刚通过实验找到的修复/解决方法。为<p>元素提供属性(<p class>)。它甚至不必具有实际价值。 WordPress似乎认为如果它有一个属性,那就值得保留。此外,该属性甚至不必是实际的HTML属性。例如,<p data-please-work>似乎工作正常。我不是说我一定会推荐这样做,但值得一提。

我实际上自己刚刚发现了这个问题,并且正在寻找解决方案引导我解决这个问题。这是一个非常恼人的情况,我不明白为什么它会这样。您会认为禁用它只会阻止WordPress添加自己的<p>元素 - 但不会。它似乎试图阻止 <p>元素,期间 - 甚至你的

如果其他人有其他办法解决这个问题,我很想知道。 Silver的提示似乎有助于了解。