Support

Account

Home Forums Front-end Issues How to count the get_row_layout? Reply To: How to count the get_row_layout?

  • It seems that you loop the rows two times. If so save the last row_index in a variable and add this var to the row_index in the second loop.

    It should look like this:

    <?php
        if( have_rows('boxes') ):
        while ( have_rows('boxes') ) : the_row();
        if( get_row_layout() == 'text' ): ?>
    
            <div class="box field-class-<?php echo get_row_index(); ?>">   
                <?php the_sub_field('content'); ?>
            </div>
    
    <?php elseif( get_row_layout() == 'image' ): ?>
    
            <div class="box field-class-<?php echo get_row_index(); ?>">   
                <?php the_sub_field('content'); ?>
            </div>
    
    <?php elseif( get_row_layout() == 'photo_slider' ): ?>
    
            <div class="box field-class-<?php echo get_row_index(); ?>">   
                <?php the_sub_field('content'); ?>
            </div>
    
            <?php // on the last get_row_layout()
            $r = get_row_index(); ?>
    
    <?php endif; endwhile; else : endif; ?>
    
    <?php // start the second loop
    if( have_rows('boxes') ):
        while ( have_rows('boxes') ) : the_row();
        if( get_row_layout() == 'text' ):
            $r = $r + get_row_index(); ?>
    
            <div class="box field-class-<?php echo $r; ?>">   
                <?php the_sub_field('content'); ?>
            </div>
    
        <?php elseif( get_row_layout() == 'image' ):
            $r = $r + get_row_index(); ?>
    
            <div class="box field-class-<?php echo $r; ?>">   
                <?php the_sub_field('content'); ?>
            </div>
    
    <?php elseif( get_row_layout() == 'photo_slider' ):
            $r = $r + get_row_index(); ?>
    
            <div class="box field-class-<?php echo $r; ?>">   
                <?php the_sub_field('content'); ?>
            </div>
    
    <?php endif; endwhile; else : endif; ?>