在n div之后打印新行

时间:2014-04-24 08:00:33

标签: php advanced-custom-fields

我正在努力为这个问题找到解决方案:

<?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个元素。

提前感谢您的帮助。

2 个答案:

答案 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;