I have found this problem as well. With Flexible Content fields, only the first row you add will render in the Gutenberg preview and on the output page. It will save the other rows though. They just don’t display.
I’m using the loop from the documentation:
if ( have_rows('flex_content') ) :
// Loop through the rows of the Flexible Content field
while ( have_rows('flex_content') ) : the_row();
if ( get_row_layout() == 'flex_content_1' ) :
elseif ( get_row_layout() == 'flex_content_2' ) :
elseif ( get_row_layout() == 'flex_content_3' ) :
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users