我创建了一个自定义页面,使用get\\u post(id)从各种帖子中获取内容。
我使用此函数获取帖子:-
function get_my_post($id){
$get_post = get_post($id);
$content = apply_filters(\'the_content\', $get_post->post_content);
echo $content;
}
然而,输出似乎打破了DOM。经过一些调查,我意识到包含图库短代码的帖子在内容末尾有一个单独的结束div,没有匹配的开始div。例如,包含图库的其中一篇帖子的回显输出如下所示:-<figure class=\'gallery-item\'>
<div class=\'gallery-icon landscape\'>
<img width="700" height="469" src="https://testsite.com/wp-content/uploads/DSC_0668-700x469.jpg" class="attachment-medium size-medium" alt="" srcset="https://testsite.com/wp-content/uploads/DSC_0668-700x469.jpg 700w, https://testsite.com/wp-content/uploads/DSC_0668-768x514.jpg 768w, https://testsite.com/wp-content/uploads/DSC_0668-1000x669.jpg 1000w, https://testsite.com/wp-content/uploads/DSC_0668-400x268.jpg 400w, https://testsite.com/wp-content/uploads/DSC_0668.jpg 1600w" sizes="(max-width: 700px) 100vw, 700px" />
</div>
</figure>
<figure class=\'gallery-item\'>
<div class=\'gallery-icon landscape\'>
<img width="700" height="469" src="https://testsite.com/wp-content/uploads/DSC_0251-700x469.jpg" class="attachment-medium size-medium" alt="" srcset="https://testsite.com/wp-content/uploads/DSC_0251-700x469.jpg 700w, https://testsite.com/wp-content/uploads/DSC_0251-768x514.jpg 768w, https://testsite.com/wp-content/uploads/DSC_0251-1000x669.jpg 1000w, https://testsite.com/wp-content/uploads/DSC_0251-400x268.jpg 400w, https://testsite.com/wp-content/uploads/DSC_0251.jpg 1600w" sizes="(max-width: 700px) 100vw, 700px" />
</div>
</figure>
<figure class=\'gallery-item\'>
<div class=\'gallery-icon landscape\'>
<img width="700" height="469" src="https://testsite.com/wp-content/uploads/DSC_0192-700x469.jpg" class="attachment-medium size-medium" alt="" srcset="https://testsite.com/wp-content/uploads/DSC_0192-700x469.jpg 700w, https://testsite.com/wp-content/uploads/DSC_0192-768x514.jpg 768w, https://testsite.com/wp-content/uploads/DSC_0192-1000x669.jpg 1000w, https://testsite.com/wp-content/uploads/DSC_0192-400x268.jpg 400w, https://testsite.com/wp-content/uploads/DSC_0192.jpg 1600w" sizes="(max-width: 700px) 100vw, 700px" />
</div>
</figure>
</div>
正如您所看到的,末尾有一个不应该存在的不匹配的结束div,这会弄乱DOM。以下是输出上述内容的帖子内容:-
[gallery link="none" size="medium" columns="3" ids="79,78,75"]
如果删除库短代码,所有其他类型的内容都可以正常工作。如果我回显未经\\u内容过滤器处理的原始内容,这也行得通——尽管这显然回显了未经渲染的库短代码。但将过滤器应用到画廊会给我一个单独的div。有人对可能发生的事情有什么想法吗?
谢谢你抽出时间