Wordpress使用the_content()与画廊?

时间:2015-02-10 23:58:01

标签: php wordpress wordpress-theming

是否可以使用除画廊之外的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 -->

2 个答案:

答案 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的非标准图库插件,则这两种方法都不起作用。