使用多重编辑插件删除 P 标签



我正在使用multiEdit插件在模板上创建一些内容区域。

其中一个区域是一些将使用jQuery循环在图像中旋转的照片。

但是,像往常一样,Wordpress(或者更确切地说是编辑器)将所有图像包装在一个<p>标签中。

我使用了CSS-Tricks中的函数hack从内容中删除了<p>标签:

function filter_ptags_on_images($content){
return preg_replace('/<p>s*(<a .*>)?s*(<img .* />)s*(</a>)?s*</p>/iU', '123', $content);
}
add_filter('the_content', 'filter_ptags_on_images');

但是,据我所知,它只寻找the_content,而不是其他任何东西。

多重编辑使用以下命令:<?php multieditDisplay('name_of_region'); ?>在模板中显示内容块。

因此,我尝试将函数更改为:

function filter_ptags_on_images($content){
  return preg_replace('/<p>s*(<a .*>)?s*(<img .* />)s*(</a>)?s*</p>/iU', '123', $content);
}
add_filter('multieditDisplay', 'filter_ptags_on_images');

但没有这样的运气。

所以,我不太确定我是否错过了什么或只是以错误的方式去做。

好的,我找到了解决方法。

我在这里写了一篇关于它的文章:

http://ultraloveninja.roon.io/filtering-paragraph-tags-with-the-wordpress-multiedit-plugin

而不是像此示例那样在模板中放置multiEdit字段

<?php multieditDisplay('Top'); ?>

您可以通过传递 true 作为第二个参数来阻止自动打印,如下所示

<?php echo multieditDisplay('Top', true); ?>

因此,如果您想从输出中删除所有标签,请尝试此操作

<?php echo strip_tags(multieditDisplay('Top', true)); ?>
如果要包含某些标签,

请提供要包含的标签列表,并将其作为参数传递给strip_tags

如下所示
<?php echo strip_tags(multieditDisplay('Top', true), '<p><a>'); ?>

最新更新