WordPress - 如何使用ACF的Repeater在每个x post后输出图像

时间:2016-09-15 14:11:08

标签: php wordpress advanced-custom-fields

我正在使用page我正在使用CPT来显示我的帖子。在第二篇文章之后,我想添加一个图片,在另外四篇文章之后,我想添加另一张图片。

在ACF中,我设置了一个转发器,但我不知道如何执行它,因此它知道我何时想要显示图像,这是在第二篇文章之后,然后是另外四篇帖子之后。

这是我的循环:

function management_team_query() {
    $args = array(
        'posts_per_page' => -1,
        'post_type'      => 'management-team',
        'order'          => 'ASC',
    );
    $team_query = new WP_Query( $args );
    if ( $team_query->have_posts() ) :

        $html_out = '<article class="team-member box-center">';
        while ( $team_query->have_posts() ) :
            $team_query->the_post();

            $role = get_field( "role" );
            $name = get_field( "team_member_name" );
            $bio = get_field( "bio" );
            // $profile = get_the_post_thumbnail_url( $post->ID, 'full'     );
            $flip = get_field( "flip_content" );
            // Do stuff with each post here
        $html_out .= 
        '<div class="meta-team box vc_col-sm-5 vc_col-lg-offset-1">
            <div class="flip-container" ontouchstart="this.classList.toggle("hover");">
                <div class="flipper">
                    <div class="front">
                        <h6>' . $role . '</h6>' . '<h4>' . $name . '</h4>' . $bio . '
                    </div>
                    <div class="back">
                        Lorem Ipsum
                    </div>
                </div>
            </div>
        </div>';
        endwhile;
        $html_out .= '</article>';
    else : // No results
        $html_out = "No News Found.";
    endif;
    wp_reset_query();
    return $html_out;
}

我提供了一个指向我工作示例的链接,这是我希望它看起来的一个,check it out

最好使用PHP进行某种计数吗?我喜欢ACF的想法,因为其他人可以更容易地管理自定义字段中的照片。

1 个答案:

答案 0 :(得分:0)

是的,你可以使用一个计数器,我建议的方式是在循环外声明一个变量,例如$ counter = 1;。然后在循环内部放入$ counter ++,每次循环传递时它会逐渐增加1。那么它应该是一个简单的例子,比较$ counter,你想要显示ACF的间隔,例如,

if($counter == 2 or $counter == 4){
    your acf stuff here;
}

编辑:

if($counter == 2){
    //get row x
} elseif($counter == 6)
    //get row y
}