2013-07-16 243 views
0

我使用WordPress并试图嵌套循环。在父循环中,我想显示普通的帖子,每个第三篇帖子从内部循环注入帖子。问题是只要父循环有帖子,然后子循环会再次吐出它的帖子,这是造成重复。有没有办法一次只显示一个儿童循环的帖子,只显示帖子whilehas_postsCoontaining嵌套循环

+0

简单的解决方案,不要嵌套循环。创建两个不同的查询和一个计数器,循环第一个查询,并在'i%3 == 0'时添加第二个查询。 – elclanrs

+0

谢谢你如何看待最简单的形式? –

+0

检查我的答案,希望有所帮助。 – elclanrs

回答

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

+0

谢谢你的帮助。我几乎可以工作,但遇到了一个问题。如果我尝试使用'the_title()'这样的方式显示帖子,它会循环显示第一篇文章的相同标题,但如果我使用了'echo $ apple-> post_title;',那么它会正确地循环所有文章。我需要抓住永久链接,不能使用对象访问永久链接。是否有我无法使用'the_permalink()'的原因?为什么它不通过帖子循环? –