停止循环并在3次循环后添加元素

问题描述

我正在尝试使用ACF转发器显示技能列表。我只想显示前3个技能,然后在其后添加“ ...”。每个人的技能列表都不相同,他们的技能也不相同。

到目前为止我所拥有的:

<p class="vakgebieden">
    <?PHP if( have_rows('team_vakgebieden') ) {
        while( have_rows('team_vakgebieden') ) { the_row();
            $vakgebied = get_sub_field('team_vakgebied'); ?>
            <span>•</span> <?PHP echo $vakgebied;
                                
            if( $i > 3 ) { ?>
                <span>•</span> ...
                <?PHP break;
            }

            $i++;
        }
    } ?>
</p>

现在我看到以下内容

  • 具有9个技能的人:显示+ ...的5个技能
  • 具有4个技能的人:1个技能显示+ ...
  • 具有3个技能的人:1个技能显示+ ...

我已经尝试了多次,但我无法弄清楚...

解决方法

显然我忘了添加$i= 1;,我也对代码进行了一些调整:仅显示了前三个技能,如果某人具有三个以上技能,则在和中添加'...'列表。

更新的代码:

<p class="vakgebieden">
    <?php if( have_rows('team_vakgebieden') ) {
        $i = 1;

        while( have_rows('team_vakgebieden') ) { the_row();
            if( $i === 4 ) { ?>
                <span>•</span> ...
                <?php break;
            } else {
                $vakgebied = get_sub_field('team_vakgebied'); ?>
                <span>•</span> <?php echo $vakgebied;

                $i++;
            }
        }
    } ?>
</p>