如果您需要这是一个PHP解决方案。您可以使用“内容”过滤器执行类似操作。这将在Wordpress打印帖子内容时,将类名“content img wrap”添加到任何只包装图像标记的段落中。因此,这不会用图像和跨度来包装段落。如果这是您想要的,请查看更新。
add_filter( \'the_content\', \'img_p_class_content_filter\' ,20);
function img_p_class_content_filter($content) {
// assuming you have created a page/post entitled \'debug\'
$content = preg_replace("/(<p)(>[^<]*<img[^>]+>[^<]*)(<\\/p>)/i", "\\$1 class=\'content-img-wrap\'\\$2\\$3", $content);
return $content;
}
**以下更新:针对更灵活包装的需要。我创建并快速测试了这个正则表达式,测试了3个自动包装的段落(这意味着我没有添加p标签,WP添加了),并在文章末尾添加了图像。它们还包含一些随机标记和回车,用于测试可能的情况和灵活性。这样做的目的是,在<;img>;因为存在任何<;img>;证明了我们的情况。然后,我们只需在中添加自定义类(欢迎更多改进):
function img_p_class_content_filter($content) {
// assuming you have created a page/post entitled \'debug\'
$content = preg_replace("/(<p[^>]*)(\\>.*)(\\<img.*)(<\\/p>)/im", "\\$1 class=\'content-img-wrap\'\\$2\\$3\\$4", $content);
return $content;
}