所以我正在展示来自 ACF WYSIWYG 的一些内容
{{ post.get_field('content') }}
我得到这样的东西
<p class=p1">Text</p>
<p class=p1">Text<p1>
<p class=p1"><img src="someimagejpg" /><p>
<p class=p1">Text<p1>
一切都很好,除了包裹在 ap 标签中的图像。
我搜索了一些过滤器,看起来主要解决方案如下。
里面的functions.php
function filter_ptags_on_images($content) {
$content = preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content);
return preg_replace('/<p>\s*(<iframe .*>*.<\/iframe>)\s*<\/p>/iU', '\1', $content);
}
add_filter('acf_the_content, 'filter_ptags_on_images');
但这似乎不适用于木材
看起来 Timber 有自己的方式来注册过滤器,但它对我不起作用,任何帮助都将不胜感激,谢谢!
我在 Timber 上试过这个:
add_filter( 'timber_context', array( $this, 'add_to_context' ) );
function add_to_twig( $twig ) {
/* this is where you can add your own functions to twig */
$twig->addFilter('acf_the_content', new Twig_Filter_Function('filter_ptags_on_images'));
$twig->addFilter('the_content', new Twig_Filter_Function('filter_ptags_on_images'));
return $twig;
}
不工作