从图像周围移除段落标签

Avatar of Chris Coyier
Chris Coyier

如果您想要在内容中使用 <img>,但不想让它们像 WordPress 那样被“自动 P 化”。

问题示例

blah blah blah

<img src="monkey.jpg">

blah blah blah

变成

<p>blah blah blah</p>

<p><img src="monkey.jpg"></p>

<p>blah blah blah</p>

我们可以用这个来解决

function filter_ptags_on_images($content){
   return preg_replace('​/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content);
}

add_filter('the_content', 'filter_ptags_on_images');

如果您复制粘贴以上代码,请务必小心。为了解决渲染问题,我在 preg_replace 函数中 opening ‘ 后添加了一个零宽度空格。在复制粘贴时,您需要删除零宽度空格。

对于您的 `functions.php` 文件,或者,请参阅参考 URL 以获取插件。有了这个,我们得到

<p>blah blah blah</p>

<img src="monkey.jpg">

<p>blah blah blah</p>

…这意味着像浮动图像这样的事情会容易得多。