【问题标题】:Coontaining Nested Loop包含嵌套循环
【发布时间】:2013-07-16 22:11:06
【问题描述】:

我正在使用 WordPress 并尝试嵌套循环。在父循环中,我想显示常规帖子,并且每个第三个帖子从内部循环中注入一个帖子。问题是只要父循环有帖子,那么子循环就会再次吐出它的帖子,这会导致重复。有没有办法一次只显示一个子循环的帖子并且只显示帖子whilehas_posts

【问题讨论】:

  • 简单的解决方案,不要嵌套循环。进行两个不同的查询和一个计数器,循环第一个查询,当i%3==0 从第二个查询中添加一个。
  • 谢谢 以最简单的形式看起来如何?
  • 检查我的回答,希望对您有所帮助。

标签: php wordpress loops nested-loops


【解决方案1】:

简单的解决方案,不要嵌套循环。进行两个不同的查询和一个计数器,循环第一个查询,当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 上的文档以获取有关如何使用它的更多信息。

【讨论】:

  • 感谢您的帮助。我几乎让它工作,但遇到了一个问题。如果我尝试使用 the_title() 之类的内容显示帖子,它会循环通过第一篇帖子的相同标题,但如果我使用类似 echo $apple-&gt;post_title; 的内容,那么它会正确循环所有帖子。我需要获取永久链接并且无法使用该对象访问永久链接。我不能使用the_permalink() 有什么原因吗?为什么它不循环浏览帖子?
猜你喜欢
  • 2014-12-16
  • 2012-06-11
  • 1970-01-01
  • 2014-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-05
  • 1970-01-01
相关资源
最近更新 更多