拆分内容和库
有没有办法拆分帖子内容和画廊短代码。我想无论其放置方式或位置如何,都将画廊显示在正常内容之外。我可以使用它来获取简码本身: if(has_shortcode(get_the_content(), 'gallery')){ $pattern = get_shortcode_regex(); preg_match("/$pattern/s", get_the_content(), $matches); echo do_shortcode($matches[0]); } 但是,如果画廊短代码不是第一个实例,这将不起作用。有没有办法完全拆分我的内容和画廊? 编辑:我有一个半解决方案,但这似乎是一条漫长的路要走。它首先获取帖子中的第一个短代码(由于我只希望使用“图库”短代码,因此需要对其进行修复),然后从内容中删除所有短代码(同样,并不是我真正想做的事情)。 <?php if(has_shortcode(get_the_content(), 'gallery')) : ?> <?php $pattern = get_shortcode_regex(); preg_match("/$pattern/s", get_the_content(), $matches); ?> <div id="content"> <?php echo strip_shortcodes(get_the_content()); ?> </div> <div id="gallery"> <?php echo do_shortcode($matches[0]); ?> </div> <?php endif; ?> 编辑#2-好吧,我只能在帖子中获取图库的短代码。我还添加了一个过滤器来删除画廊的短代码形式the_content()-问题是它并不一定要删除短代码,因为它确实发布了它,但不允许我运行“ do_shortcode()” Functions.php function remove_gallery($content) { …