如何在ACF转发器字段中的行上循环并回显值编号

时间:2019-06-29 01:44:13

标签: php wordpress

我想打印ACF转发器行中有多少行的计数。我有一个foreach循环设置,但我无法弄清缺少的内容。

<?php if( have_rows('repeater_section') ): ?>
    <ul>
        <?php while( have_rows('repeater_section') ): the_row(); ?>
            <li>
                $items = get_field('items', 'option');
                <?php
                    foreach ($items as item) {
                        if (i=0; i<=items.length)
                ?>
                        <p>Items: <?php $i;?></p>
                <?php
                    }
                ?>
            </li>
        <?php endwhile; ?>
    </ul>
<?php endif; ?>

如果ACF字段中有3行数据,则输出示例。

Items: 1
Items: 2
Items: 3

1 个答案:

答案 0 :(得分:0)

尝试以下代码:

<?php if( have_rows('repeater_section') ): ?>
    <ul>
        <?php while( have_rows('repeater_section') ): the_row(); ?>
            <li>
                <?php
                    $items = get_field('items', 'option');
                    foreach ($items as $i => $item) {
                        ?>
                        <p>Items: <?php echo $i + 1;?></p>
                        <?php
                    }
                ?>
            </li>
        <?php endwhile; ?>
    </ul>
<?php endif; ?>

请注意,如果数组的键不是数字,则需要更改代码,例如:

<?php if( have_rows('repeater_section') ): ?>
    <ul>
        <?php while( have_rows('repeater_section') ): the_row(); ?>
            <li>
                <?php
                    $i = 1;
                    $items = get_field('items', 'option');
                    foreach ($items as $item) {
                        ?>
                        <p>Items: <?php echo $i ++;?></p>
                        <?php
                    }
                ?>
            </li>
        <?php endwhile; ?>
    </ul>
<?php endif; ?>