我正试图阻止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>
再次标记。有什么想法吗?
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\')