是否可以使用除画廊之外的the_content()?我想这样做是因为我需要使用flexslider显示的库。我已经整合了flexslider。如果我想显示帖子的内容,例如:一些文字,分隔的图像,当然还有一个画廊。它将显示带有flexslider的图库,然后再显示带有文本,图像和图库的内容。我不希望画廊重复。
<div class="entry-content">
<?php $gallery = get_post_gallery( get_the_ID(), false );?>
<div class="flexslider flexslider-gallery">
<ul class="slides slides-gallery">
<?php foreach( $gallery['src'] AS $src ){ ?>
<li>
<img alt="Gallery image" src="<?php echo $src; ?>" />
</li>
<?php } ?>
</ul> <!-- end .slides -->
</div> <!-- end .flexslider -->
<?php the_content(); ?>
</div><!-- .entry-content -->
答案 0 :(得分:1)
好的,这是解决方案:
添加到functions.php
function remove_shortcode_from($content) {
$content = strip_shortcodes( $content );
return $content;
}
然后在你需要的时候调用它,在我的例子中是content-gallery.php:
add_filter('the_content', 'remove_shortcode_from');
the_content();
remove_filter('the_content', 'remove_shortcode_from')
答案 1 :(得分:0)
两种方式:
1)WordPress图库包含在带有.gallery类的div中。如果flexsider也不使用该类,您只需将CSS设置为:
.gallery { display: none; }
2)您可以使用get_the_content获取内容,使用DOM解析器解析它并删除Gallery。
选项#1效率较低,但避免了解析DOM的复杂性。
如果网站使用的是创建非WP HTML的非标准图库插件,则这两种方法都不起作用。