从wordpress术语描述中删除图像周围的p标记

从wordpress术语描述中删除图像周围的p标记,wordpress,Wordpress,应该非常简单,但将我的过滤器放置在主题函数文件中不会对模板产生任何影响: add_filter('term_description', 'filter_ptags_on_images'); function filter_ptags_on_images($content){ return preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '

应该非常简单,但将我的过滤器放置在主题函数文件中不会对模板产生任何影响:

add_filter('term_description', 'filter_ptags_on_images');
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('term_description'、'filter_ptag_on_images');
函数过滤器对图像进行过滤($content){
返回preg_replace('/\s*()?\s*()\s*()?\s*/iU','\1\2\3',$content);
}
和我的标记:

 <?php echo term_description(); ?>


编辑:我尝试通过从函数返回虚拟内容来测试筛选器,但没有任何更改,因此筛选器出于某种原因没有在内容上运行

结果证明我试图以错误的模板为目标,而实际函数是高级自定义字段wysiwg自定义内容标记:

<?php the_field('fieldname'); ?>

您是否尝试过使用
“$1$2$3”
作为您的替代品?是的,我尝试过,甚至不确定过滤器是否实际接触了内容。检查的一种方法是简单地返回一些虚拟内容…即<代码>返回“废话”。如果你看到它,你的过滤器运行正常。好的,我试过了,所以过滤器中有些东西不能正常工作,不知道为什么我甚至试过这个插件,并将它改成了term_description。运气不好:
add_filter('acf_the_content', 'your_function');