如何阻止图片被包装在<p>标签中?

时间:2016-05-09 作者:Elliott Klein

我正试图阻止WordPress自动包装<img>s与<p> 标签。我在我的functions.php:

function filter_ptags_on_images($content){ // Remove p tags from around images
     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\');
如果图像是最重要的,则此操作不起作用first 文章或页面中的元素。当图像位于任何文本之前时,图像将用<p> 再次标记。有什么想法吗?

2 个回复
SO网友:honk31

这是一个函数,用于从\\u内容内的p标记中展开图像

/**
 * WP: Unwrap images from <p> tag
 * @param $content
 * @return mixed
 */
function so226099_filter_p_tags_on_images( $content ) {
    $content = preg_replace(\'/<p>\\\\s*?(<a .*?><img.*?><\\\\/a>|<img.*?>)?\\\\s*<\\\\/p>/s\', \'\\1\', $content);

    return $content;
}
add_filter(\'the_content\', \'so226099_filter_p_tags_on_images\');

SO网友:mukto90

如果要删除<p> 从整个内容(不仅仅是图像),这可以帮助您

add_filter( \'the_content\', \'wpse_226099_remove_p\' );
function wpse_226099_remove_p( $content ) {
    global $post;
    return $post->post_content;
}
或者用这个-

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

相关推荐

Blurry Images Wordpress 5.8.1

我试过了使用。png而不是。禁用wordpress默认压缩add_filter(\'jpeg_quality\', function($arg){return 100;});</切换主题以测试禁用插件多次重新生成缩略图多次重新上载媒体定义每个图像的确切宽度和高度禁用延迟加载图像上载后仍然模糊。我的图像都经过了优化,并且具有精确的宽度和高度。我以前版本的wordpress没有这些问题。我还应该做些什么来解决这个问题?谢谢