首页 WordPress函数大全 get_row_layout()
购买会员请联系客服,QQ 248758228

get_row_layout()

2020-06-28 / 144阅 / 秦自龙

描述

返回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; ?> 
大家谈论
    我的见解