我正在使用WordPress并尝试嵌套循环。在父循环中,我想显示常规帖子,每个第3个帖子从内循环中注入一个帖子。问题是只要父循环有帖子然后子循环将再次吐出它的帖子,这会导致重复。有没有办法一次只显示一个子循环的帖子,只显示while
has_posts
个帖子?
答案 0 :(得分:0)
简单的解决方案,不要嵌套循环。制作两个不同的查询和一个计数器,循环第一个查询,并在i%3==0
从第二个查询中添加一个查询。看看这是否有帮助:
$apples = get_posts('post_type=apple');
$oranges = get_posts('post_type=orange');
for ($i=0; i<count($apples); $i++) {
$apple = $apples[$i];
// do something with $apple
// every 3rd apple
if ($i%3 === 0) {
$orange = array_shift($oranges);
// do something with $orange
}
}
在某些时候,您必须检查是否有足够的橙子或没有足够的苹果来打印所有橙子。
检查get_posts上的文档,了解有关如何使用它的更多信息。