3 回答
TA贡献1833条经验 获得超4个赞
也许这样的事情可以工作?
<div class="fadeIn col-lg-12 col-sm-12 col-md-12" >
<?php $loop = new WP_Query(array('post_type'=>'menu'));
if($loop->have_posts()) :
$i=0;
?>
<div class="row">
<?php while($loop->have_posts() ): $loop->the_post(); ?>
<?php $i = 0; ?>
<ul style="width:50%" class="menu-list col-md-6 column <?php echo the_title(); ?>">
<?php while(the_repeater_field('item')): ?>
<?php ++$i; ?>
<?php if($i % 6 == 0): ?>
</ul>
<ul style="width:50%" class="menu-list col-md-6 column <?php echo the_title(); ?>">
<?php endif; ?>
<li style="max-width:1000px;"><strong class="icon">•</strong> <b><?php the_sub_field('heading'); ?></b><span class="price" >1.95</span><br><strong style="font-weight:400;margin-left:22px;">Soybean paste broth</strong></li>
<?php endwhile;?>
</ul>
<?php endwhile; endif; ?>
</div>
</div>
编辑:因为我还不能发表评论......@Bas Mulder 发布的批准的答案是行不通的,如果你有超过 12 个条目:
<div class="row">
<?php while($loop->have_posts() ): $loop->the_post(); ?>
<?php $j = 0; ?>
<ul style="width:50%" class="menu-list col-md-6 column <?php echo the_title(); ?>">
<?php while(the_repeater_field('item')): ?>
<?php if ($j === 5): ?>
</ul><ul style="width:50%" class="menu-list col-md-6 column <?php echo the_title(); ?>">
<?php $j = 0; ?>
<?php endif; ?>
<li style="max-width:1000px;"><strong class="icon">•</strong> <b><?php the_sub_field('heading'); ?></b><span class="price" >1.95</span><br><strong style="font-weight:400;margin-left:22px;">Soybean paste broth</strong></li>
<?php $j++; ?>
<?php endwhile;?>
</ul>
<?php endwhile; endif; ?>
</div>
第二次,它将在 5 个条目上创建新的 UL。因为一旦创建了新的 UL,j 就会设置为 0 并立即增加到 1,所以一旦您的代码命中 11 元素,就会创建新的 UL。
编辑 2:由于问题,我更新了我的答案,所以最初
$i++;
改为
++$i;
第二种解决方案是移动 $i++; 下面如果:
<?php if($i % 6 == 0): ?>
<?php ++$i; ?>
TA贡献1847条经验 获得超11个赞
我正在添加另一个答案,因为它与原始问题没有直接关系。根据评论,要拥有两个带有 li 元素的 ul,您可以这样做:
$my_fields = get_field_object('item');
$count = count(($my_fields['value']));
$showFirst = ceil($count/2);
$showSecond = $count - $showFirst;
比你做这样的事情:
<?php $show = $showFirst; ?>
<ul style="width:50%" class="menu-list col-md-6 column <?php echo the_title(); ?>">
<?php for($i = 0; $i < $show; $i++): ?>
<li style="max-width:1000px;">
<strong class="icon">•</strong> <b><?php the_sub_field('heading'); ?></b><span class="price" >1.95</span><br><strong style="font-weight:400;margin-left:22px;">Soybean paste broth</strong>
</li>
<?php if($i == ($show - 1)): ?>
</ul>
<ul style="width:50%" class="menu-list col-md-6 column <?php echo the_title(); ?>">
$i = 0;
$show = $showSecond;
<?php endif; ?>
<?php end for;?>
TA贡献1712条经验 获得超3个赞
尝试这个:
<div class="fadeIn col-lg-12 col-sm-12 col-md-12" >
<?php $loop = new WP_Query(array('post_type'=>'menu'));
if($loop->have_posts()) :
$i=0;
?>
<div class="row">
<?php while($loop->have_posts() ): $loop->the_post(); ?>
<?php $j = 0; ?>
<ul style="width:50%" class="menu-list col-md-6 column <?php echo the_title(); ?>">
<?php while(the_repeater_field('item')): ?>
<?php if ($j === 5): ?>
</ul><ul style="width:50%" class="menu-list col-md-6 column <?php echo the_title(); ?>">
<?php $j = 0; ?>
<?php endif; ?>
<li style="max-width:1000px;"><strong class="icon">•</strong> <b><?php the_sub_field('heading'); ?></b><span class="price" >1.95</span><br><strong style="font-weight:400;margin-left:22px;">Soybean paste broth</strong></li>
<?php $j++; ?>
<?php endwhile;?>
</ul>
<?php endwhile; endif; ?>
</div>
</div>
- 3 回答
- 0 关注
- 108 浏览
添加回答
举报