带Bootstrap Carousel中继器的ACF灵活内容

时间:2019-11-13 作者:rkDev

我试图为这个使用引导构建的灵活内容传送带的每个实例添加一个计数器。我用while语句尝试了多种计数方法。什么是正确的计数方式,以便我可以为每个旋转木马添加唯一的ID?

此版本不输出任何内容。移动上面的while语句会断开页面。不包装while不算什么。我已经测试了计数器while( have_rows(\'slides\') ), 工作,但不是这里需要的。

这个旋转木马可以很好地使用静态ID。作为一种解决方法,目前,我已经用不同的ID创建了重复的模板文件,但无论如何都没有效率。

<div id="work" class="oc-content-container">
                <?php 
                if( have_rows(\'work_flexible_fields\') ):
                while ( have_rows(\'work_flexible_fields\') ) : the_row();
                if( get_row_layout() == \'content_editor\' ): the_sub_field(\'content_editor\'); 

                elseif ( get_row_layout() == \'carousel_1\' ):
                $cCounter = 1; //start counter
                ?>
                <section id="carousel" class="text-center center-block">

                    <?php while ( have_rows(\'carousel_1\') ) { $cCounter++; //attempt to count instances of this flexible content module
                        if( have_rows(\'slides\') ) { 
                            $num = 0;
                            $active = \'active\'; ?>  

                    <div id="carouselId<?php echo $cCounter; ?>" class="carousel slide" data-ride="carousel">
                        <ol class="carousel-indicators">

                    <?php 
                            while( have_rows(\'slides\') ) : the_row(); ?>
                            <li data-target="#carouselId<?php echo $cCounter; ?>" data-slide-to="<?php echo $num; ?>" class="<?php echo $active; ?>"></li>

                    <?php 
                            $num++;
                            $active = \'\';   
                           endwhile; ?>
                        </ol>
                        <div class="carousel-inner">

                        <?php $active = \'active\'; ?>

                    <?php while( have_rows(\'slides\') ) : the_row();

                            $image      = get_sub_field(\'image\');
                            $mainText   = get_sub_field(\'main_text\');
                            $subText    = get_sub_field(\'sub_text\');
                            ?>

                            <div class="carousel-item <?php echo $active; ?>">
                                <img class="center-block" src="<?php echo $image; ?>" />
                                <div class="carousel-caption d-none d-block">
                                    <h5><?php echo $mainText; ?></h5>
                                </div>
                            </div>

                            <?php 
                            $active = \'\'; 
                            endwhile; ?>

                        </div>
                    </div>
                    <?php } } //close while statement ?> 
                </section>

                <?php endif;
                endwhile;
                else :
                endif;
                ?>
            </div>

1 个回复
SO网友:zfors

是否更改此$cCounter; //attempt to count instances of this flexible content module

到这个$cCounter++; 给你想要的?

相关推荐

如何创建4列和2列Twitter-Bootstrap相结合的WordPress循环?

我想根据4列(桌面视图)、2列(mobile view 768px)和1列(mobile view 425px)的组合显示帖子。我在下面找到了很棒的代码:<?php $paged = ( get_query_var(\'paged\') ) ? get_query_var(\'paged\') : 1; $args=array( \'post_type\' => \'post\',