【发布时间】:2017-07-28 23:09:06
【问题描述】:
我有一个 ACF 中继器字段,我想将其输出为手风琴网格,如下所示:
<div class="intro row">
<div class="item item-1">name 1</div>
<div class="item item-2">name 2</div>
<div class="item item-3">name 3</div>
<div class="item item-4">name 4</div>
</div>
<div class="expanded row">
<div class="expand" id="item-1">expanded info 1</div>
<div class="expand" id="item-2">expanded info 2</div>
<div class="expand" id="item-3">expanded info 3</div>
<div class="expand" id="item-4">expanded info 4</div>
</div>
<div class="intro row">
<div class="item item-5">name 5</div>
<div class="item item-6">name 6</div>
<div class="item item-7">name 7</div>
<div class="item item-8">name 8</div>
</div>
<div class="expanded row">
<div class="expand" id="item-5">expanded info 5</div>
<div class="expand" id="item-6">expanded info 6</div>
<div class="expand" id="item-7">expanded info 7</div>
<div class="expand" id="item-8">expanded info 8</div>
</div>
我可以很好地对初始行进行分组,这只是我遇到问题的第二个“扩展”行。如何在同一个循环中正确重复和分组 4 的第二行?我当前的 PHP:
<?php // check if the repeater field has rows of data
if( have_rows('features') ):
// loop through the rows of data
// add a counter
$count = 0;
$group = 0;
while ( have_rows('features') ) : the_row();
$name = get_sub_field('feature_name');
$expandedInfo = get_sub_field('feature_info');
if ($count % 4 == 0) {
$group++;
?>
<div class="intro row">
<?php
}
?>
<div class="item item-<?php echo $count; ?>">
<?php echo $name ?>
</div><!-- item-->
<?php
if ($count % 4 == 3) {
?>
</div><!-- intro-->
<?php
}
$count++;
endwhile;
else :
// no rows found
endif;
?>
【问题讨论】:
-
if ($count % 2 == 0)然后添加扩展类! -
我不确定它会起作用吗?最初的 4 个必须用不同的类再次重复
-
你的意思是你想让第一个(第二个 div )类扩展?
-
如果我们谈论循环的行,它必须重复并分组两次 - 所以 ABCD(intro) ABCD(expand) EFGH(intro) EFGH(expand) 是否有意义?
-
我不明白这一点,您想获得与您问题中提供的 sn-p 相同的确切结果吗?
标签: php html wordpress advanced-custom-fields