2020-06-28 / 1274阅 / 悠然
返回have_rows()
循环中的当前行布局名称。
当显示“灵活内容”字段中的值时,此功能变得非常必要,因为每一行可能具有不同的布局类型。
(字符串)在“弹性内容”字段设置中定义的布局名称。
本示例说明如何循环显示“灵活内容”字段并加载每行的行布局。
if( have_rows('content') ) {
while( have_rows('content') ) {
the_row();
// Get the row layout.
$layout = get_row_layout();
// Do something...
}
}
本示例说明如何循环显示“灵活内容”字段并为不同的布局生成HTML。
<?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; ?>