Bootstrap轮播指示器未在Wordpress中显示

时间:2017-02-04 04:37:14

标签: php wordpress twitter-bootstrap

我正在尝试将Bootstrap轮播集成到我的Wordpress主题中作为推荐滑块。证词和徽标出现(我使用自定义帖子类型),但唯一没有显示的是轮播指示器。我查看了许多Stackoverflow问题和其他网页,但我找不到解决方案。

有人能够查看我的代码,看看我能做些什么来修复它吗?谢谢你的帮助。

<ol class="carousel-indicators">
            <?php
                $args = array(
                    'post_type' => 'testimonial',
                    'orderby'   => 'post_id',
                    'order'     => 'ASC'
                );  
                $loop = new WP_Query( $args );
                $banner_count = 0;
                while ( $loop->have_post() ) : $loop->the_post();

                if ( $banner_count == 0 ){
                    $active_item = 'active';
                }
                else {
                    $active_item = '';
                }
            ?>
            <li data-target="#quote-carousel" data-slide-to="<?php echo $banner_count; ?>" class="<?php echo $active_item; ?>"></li>
            <?php $banner_count++; endwhile; ?>
            </ol>



            <!-- Carousel Slides / Quotes -->


            <div class="carousel-inner">
            <?php 
                $loop = new WP_Query( $args ); 
                $banner_count = 0;
                while ( $loop->have_posts() ) : $loop->the_post();
                if ( $banner_count == 0 ){
                    $active_item = 'active';
                }
                else {
                    $active_item = '';
                }   
            ?>
                <!-- Quote 1 -->
                <div class="item <?php echo $active_item; ?>">
                    <blockquote>
                        <div class="row">
                            <div class="col-sm-3 text-center">
                            <img class="img-circle">
                            <?php 
                                if ( has_post_thumbnail() ) {
                                    the_post_thumbnail( array( 200, 100 ) );
                                }
                            ?>
                            </div>
                            <div class="col-sm-9">
                            <?php the_content(); ?>
                            <small><?php the_title(); ?></small>
                            </div>
                        </div>
                    </blockquote>
                </div>
            <?php $banner_count++; endwhile; ?>
            </div>

1 个答案:

答案 0 :(得分:1)

您在s上错过了have_posts()指示符。

while ( $loop->have_post() ) : $loop->the_post();

应该是:

while ( $loop->have_posts() ) : $loop->the_post();

我还建议将查询移到顶部并运行一次而不是两次。

<?php
$args = array(
    'post_type' => 'testimonial',
    'orderby'   => 'post_id',
    'order'     => 'ASC'
);  

$loop = new WP_Query( $args );

if ( $loop->have_posts() ) : ?>
    <ol class="carousel-indicators">
        . . .
        WHILE HERE FOR LIST ITEMS

    </ol>

    <?php $loop->rewind_posts(); // reset the loop and re-use ?>

    <div class="carousel-inner">
        . . .
        WHILE HERE TO LOOP THROUGH ITEMS
        . . .
    </div>

    <?php
endif;