Support

Account

Home Forums Add-ons Flexible Content Field Count rows of flexible field?

Solving

Count rows of flexible field?

  • <?php
    if( have_rows('flexible_field') ):				        	
    
    while ( have_rows('flexible_field') ) : the_row(); ?>
    
    <?php $count = count( get_row_layout( 'row' ) ); ?>
    
    <?php if( get_row_layout() == 'row' ): ?>
    
    <div>
    
    <?php echo $count; ?>
    
    <h2><?php the_sub_field("headline"); ?></h2>
    
    </div>
    
    <?php endif; ?>
    
    <?php endwhile;	else :
    // no layouts found
    endif;
    ?>

    With this I want to count the rows but it always gives me “1” … how can I count all rows?

  • 
    <?php 
      if (have_rows('flexible_field')) {
        $count = 0;
        while (have_rows('flexible_field')) {
          the_row();
          $count++;
          echo '<div>',$count,'</div>';
        }
      }
    ?>
  • Hello John,
    I already tried this but when i do this i get:

    <div>1</div>
    <div>2</div>
    <div>3</div>

    but i need:

    <div>3</div>
    <div>3</div>
    <div>3</div>

    or

    <div>2</div>
    <div>2</div>

    or

    <div>1</div>

    Means: Count all flexible rows and give the number to every row (DIV in this case).

  • You want to count the fields ahead of time?

    
    $flex_field_array = get_post_meta($post_id, 'flexible_field', true);
    $count = 0;
    if (is_array($flex_field_array)) {
      $count = count($flex_field_array);
    }
    echo $count;
    
  • This gives me just “0”.

  • What did you use for post ID, also, this should go before your loop.

    
    $post->ID
    $flex_field_array = get_post_meta($post->ID, 'flexible_field', true);
    $count = 0;
    if (is_array($flex_field_array)) {
      $count = count($flex_field_array);
    }
    echo $count;
    
    if( have_rows('flexible_field') ):
    
  • This little snippet worked for me:
    <?php echo count( get_field('features') ); ?>

    😉

    • avtar

    • February 6, 2020 at 10:43 pm

    This worked for me. This is used to calculate total number of rows in flexible content field.
    <?php echo count( get_row( ‘row_name’ ) ); ?>

Viewing 8 posts - 1 through 8 (of 8 total)

You must be logged in to reply to this topic.

We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. Read about how we use cookies and how you can control them in our Cookie Policy. If you continue to use this site, you consent to our use of cookies.