Php 每个post循环后重置计数器

Php 每个post循环后重置计数器,php,wordpress,loops,counter,advanced-custom-fields,Php,Wordpress,Loops,Counter,Advanced Custom Fields,我有一个ACF中继器,在一个定制的post类型的循环中,有一个计数器,每隔两个col-md-6就有一行。当我有偶数个col时,这非常有效,但当它不均匀时就不行了。当一篇文章的列数不均匀时,计数器不知何故会记住下一篇文章的列数,并且只在第一行显示一个列 在这里,你可以找到当前的代码和正在发生的事情的一个小图片。 不知何故,我需要在每次post循环后重置计数器,但无法解决它。wp_reset_postdata似乎不起作用 <?php $args = array( 'post_type' =&g

我有一个ACF中继器,在一个定制的post类型的循环中,有一个计数器,每隔两个col-md-6就有一行。当我有偶数个col时,这非常有效,但当它不均匀时就不行了。当一篇文章的列数不均匀时,计数器不知何故会记住下一篇文章的列数,并且只在第一行显示一个列

在这里,你可以找到当前的代码和正在发生的事情的一个小图片。 不知何故,我需要在每次post循环后重置计数器,但无法解决它。wp_reset_postdata似乎不起作用

<?php $args = array( 'post_type' => 'posttypename', 'posts_per_page' => '-1' ); $the_query = new WP_Query( $args ); ?>
<?php if ( $the_query->have_posts() ) : ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

<div>
    <div class="container">

        <div class="row">

            <div class="col-md-12">
                <h1><?php the_title(); ?></h1>
            </div>

        </div>

        <?php if( have_rows('row') ): ?>
            <div class="row">
            <?php while( have_rows('row') ): the_row(); $text = get_sub_field('text'); ?>

                <div class="col-md-6">      
                    <?php echo $text; ?>
                </div>

                <?php $counter++; if($counter % 2 === 0) :  echo '</div> <div class="row">'; endif; ?>
            <?php endwhile; ?>
            </div>
        <?php endif; ?>

    </div>
</div>

<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php endif; ?>


只是一个小小的变化。在
acf
循环开始之前,您需要确保计数器重置为0

        <?php $counter = 0; //Initialize your Counter here before the Loop Starts for each Post ?> 
        <?php if( have_rows('row') ): ?>
            <div class="row">
            <?php while( have_rows('row') ): the_row(); $text = get_sub_field('text'); ?>

                <div class="col-md-6">      
                    <?php echo $text; ?>
                </div>

                <?php $counter++; if($counter % 2 === 0) :  echo '</div> <div class="row">'; endif; ?>
            <?php endwhile; ?>
            </div>
        <?php endif; ?>