<?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;
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') ); ?>
😉
This worked for me. This is used to calculate total number of rows in flexible content field.
<?php echo count( get_row( ‘row_name’ ) ); ?>