如何在while循环中每两次添加UL LI?

3
我希望在每两个循环中添加我的 ulli。例如:
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
 <ul>
    <li> <?php the_title() ?> - <?php the_content() ?></li>
 </ul> 
<?php endwhile; ?>

假设我有4篇文章,我希望结果如下:
<ul>
 <li>Title 1 - content 1</li>
 <li>Title 2 - content 2</li>
</ul>
<ul>
 <li>Title 3 - content 3</li>
 <li>Title 4 - content 4</li>
</ul>

那是在WordPress里吗?语法有问题。 - Book Of Zeus
@BookOfZeus 是的,语法已经修正 :) - iamafish
2个回答

5

添加一个计数器变量(start =0),在每次循环结束时递增。然后,在每次循环开始时,测试if($counter%2==0){ echo "</ul><ul>";}并将第一个<ul>和最后一个</ul>放在循环外部。


每次循环都会是<ul></ul><ul></li> - iamafish
据我所知,他说的是正确的,例如:for ($i = 0; $i <= 10; $i++) { if($i % 2 == 0) echo "每隔一次 <br />"; echo "每次 <br />"; } - lfxgroove
那么某些东西放错了位置(抱歉,我在用手机)...($counter%2==0) 不应该在每个循环中都为真。 - Robot Woods
是的,抱歉,谢谢,我很感激你为OP提供的示例......我一直在回复他的评论。 - Robot Woods
不要在循环中使用echo。请使用$str .= ''; 并在结尾处使用echo。 - mintobit

0
我会这样做:
for($i = 0; $i < $numberOfUls; $i++)
{
    $result = '<ul>';
    for($j = 0; $j < $numberOfLis; $j++)
    {
        $result .= '<li>Title content</li>'; // Perhaps an array with the whole list $listContent[$i][$j];
    }
    $result .= '</ul>';
}
echo $result;

是的,我猜是这样。不过他总是可以在数组上使用 sizeof()。无论如何,他似乎已经找到了解决方案 :) - span

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接