我正在努力为这个问题找到解决方案:
<?php
$counter = 1;
while (has_sub_field('company_members')) :
echo '<div class="row">';
while ($counter <= 3) :
get_template_part('team-member-box'); ++$counter;
endwhile;
echo '</div>';
$counter = 1;
endwhile;
?>
我想要的代码是打印3&#34; team-member-box&#34;然后创建一个新行。
到目前为止,所有的盒子都放在一排。
现在代码打印相同的框三次,而我希望它在转发器字段中占用3个元素&#34; company_members&#34;并在新行中打印下3个元素。
提前感谢您的帮助。
答案 0 :(得分:0)
不确定这是否是您尝试做的,但这里是一种显示每行3个数据列表的一般方法:
$counter = 0;
echo '<div class="row">';
while (has_sub_field('company_members')) {
echo ($counter++ % 3 == 0) ? '</div><div class="row">' : '';
get_template_part('team-member-box');
}
echo '</div>';
<强>解释强>
has_sub_field它循环所有company_members,我猜get_template_part
使用当前项呈现一些html。请参阅上面链接中的the_sub_field('content')
。
$counter
与上述行为无关,它仅用于将结果分成3块并将它们包装在div中。
答案 1 :(得分:0)
谢谢你。要解决在开头创建空行的问题,请添加以下内容:
if($counter) :
echo ($counter++ % 2 == 0) ? '</div><div class="row">' : '';
else :
$counter++;
endif;