Description
Returns the current row layout name within a have_rows()
loop.
This function becomes necessary when displaying values from a Flexible Content field as each row may be of a different layout type.
Return
(string) The name of the layout as defined in the Flexible Content field settings.
Examples
Basic usage
This example shows how to loop through a Flexible Content field and load the row layout for each row.
if( have_rows('content') ) {
while( have_rows('content') ) {
the_row();
// Get the row layout.
$layout = get_row_layout();
// Do something...
}
}
Display layouts
This example shows how to loop through a Flexible Content field and generate HTML for different layouts.
<?php if( have_rows('content') ): ?>
<?php while( have_rows('content') ): the_row(); ?>
<?php
//Paragraph layout.
if( get_row_layout() == 'paragraph' ): ?>
<?php the_sub_field('paragraph'); ?>
<?php
// Image layout.
elseif( get_row_layout() == 'image' ):
$image = get_sub_field('image');
?>
<figure>
<?php echo wp_get_attachment_image( $image['ID'], 'full' ); ?>
<figcaption><?php echo $image['caption']; ?></figcaption>
</figure>
<?php
// Posts.
elseif( get_row_layout() == 'posts' ):
$posts = get_sub_field('posts');
?>
<div class="featured-posts">
<h2><?php the_sub_field('title'); ?></h2>
<?php the_sub_field('content'); ?>
<?php if( posts ): ?>
<ul>
<?php foreach( $posts as $post ):
setup_postdata($post); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
<?php wp_reset_postdata(); ?>
</ul>
<?php endif; ?>
</div>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>
Supercharge Your Website With Premium Features Using ACF PRO
Speed up your workflow and unlock features to better develop websites using ACF Blocks and Options Pages, with the Flexible Content, Repeater, Clone, Gallery Fields & More.