【发布时间】:2021-02-28 13:53:36
【问题描述】:
我只想使用 php 中的 while 循环在每个项目上添加一个类。但问题是它只会添加到大于 2 的项目,而不是所有项目。如果项目超过 2,我的目标是在所有项目上添加类“nav-multiple”。
<ul>
<?php
$index = -1;
// loop through the rows of data
while ( have_rows('property_section_menu_repeater_field') ) : the_row();
$index++;
$title = get_sub_field('property_section_menu_repeater_subfield1');
$unique_id = get_sub_field('property_section_menu_repeater_subfield2');
?>
<li class="nav-item <?php echo $index >= 2 ? 'nav-multiple' : ''; ?>">
<a class="nav-link p-0" href="#<?php echo $unique_id; ?>"><?php echo $title; ?></a>
</li>
<?php endwhile; ?>
</ul>
当前输出:
<li class="nav-item">
<a></a>
</li>
<li class="nav-item nav-multiple">
<a></a>
</li>
我想要达到的输出:
<li class="nav-item nav-multiple">
<a></a>
</li>
<li class="nav-item nav-multiple">
<a></a>
</li>
【问题讨论】:
-
您正在与当前索引进行比较。您需要与结果总数进行比较。
-
看来您正在使用 ACF 库。尝试检查他们的文档,看看是否有返回行数的函数。
-
谢谢@El_Vanja。我使用了 php count() 函数并从 while 切换到 foreach 以使其更容易并且现在可以工作。
标签: php html foreach while-loop advanced-custom-fields