Php 更改循环中最后一项的输出(ACF)

Php 更改循环中最后一项的输出(ACF),php,wordpress,advanced-custom-fields,Php,Wordpress,Advanced Custom Fields,我仍在学习php,但无法理解这一点 对于Wordpress中的循环,我想输出一个带有位置的列表,用逗号分隔,以点结尾 这是我的密码: <?php if ( have_rows('subplaats') ): ?> <section id="subplaats"> <div class="subplaats-container"> <h3 class="support">Wij bestrijden o

我仍在学习php,但无法理解这一点

对于Wordpress中的循环,我想输出一个带有位置的列表,用逗号分隔,以点结尾

这是我的密码:

<?php if ( have_rows('subplaats') ): ?>
    <section id="subplaats">
        <div class="subplaats-container">
            <h3 class="support">Wij bestrijden ook in...</h3>
            <p>
                <?php while( have_rows('subplaats') ): the_row(); ?>
                    <?php $plaats = get_sub_field('plaats'); ?>
                    <?php echo $plaats; ?>,
                <?php endwhile; ?>
            </p>
        </div>
    </section>
<?php endif; ?>

Wij bestrijden ook in。。。

,


有人能告诉我如何做到这一点吗?我正在使用高级自定义字段。我在分层级别上做得对吗?

您需要计算中继器中的总字段数:

count(get_field('subplaats'));
然后使用字段计数器检查当前“计数”字段是否为最后一个字段

我编辑并测试了您的代码,效果良好:

<?php
      if (have_rows('subplaats')):
              $all_fields_count = count(get_field('subplaats'));
              $fields_count = 1;
?>
<section id="subplaats">
       <div class="subplaats-container">
            <h3 class="support">Wij bestrijden ook in...</h3>
            <p>
            <?php
                 while (have_rows('subplaats')): the_row();
                        $plaats = get_sub_field('plaats');
                         echo $plaats;
                        if ($fields_count == $all_fields_count) {
                            echo ".";
                        } else {
                            echo ", ";
                        }
                        $fields_count++;
                 endwhile;
            ?>
            </p>
       </div>
</section>
<?php
      endif;
?>

Wij bestrijden ook in。。。


干杯

很有魅力,非常感谢!我想用foreach解决这个问题,但没有成功