【问题标题】:Wordpress: displaying 25 posts from one category and 55 from anotherWordpress:显示一个类别的 25 个帖子和另一个类别的 55 个帖子
【发布时间】:2015-04-19 06:36:01
【问题描述】:

我正在尝试创建一个循环,该循环将获取一个类别的最新 25 个帖子和另一个类别的最新 55 个帖子,它们需要在同一个循环中,并且帖子在同位素过滤系统中,并且当它打开时'all' 它需要按日期顺序显示所有类别而不是类别类型>发布日期,这样做有技巧吗?

谢谢,哈利。

编辑: 这是我目前的 get_posts 循环;

            <?php
            global $post;
            $myposts = get_posts('cat=10,11,49&numberposts=50');
            foreach($myposts as $post) :
            setup_postdata($post);
            $cat_name = '';
            $category = get_the_category();
            $cat_name = $category[0]->slug;
            ?>


            <?php endforeach; ?>

我尝试了一些合乎逻辑的事情,例如;

            $myposts = get_posts('cat=10,49&numberposts=50', 'cat=11&numberposts=50');

但这只是返回类别 10 和 49 的帖子。

我想也许这样的东西可以工作,但需要正确的语法;

      $myposts11 = get_posts('cat=11&numberposts=50');
      $myposts1049 = get_posts('cat=10,49&numberposts=50');
      $myposts = $myposts1049 + $myposts11;

【问题讨论】:

  • 请向您的代码展示您尝试过的任何内容...
  • 我不认为 WordPress 的 WP_Query(); 可以直接处理这个问题。您可能必须无限期地遍历帖子(while ( has_post(); &amp;&amp; $count1 &lt;= 25 &amp;&amp; $count2 &lt;= 55 ),因为需要检查不准确的帖子数量,直到找到所需的所有内容)。 $count1 和 $count2 你需要自己实现。
  • 如果我使用 get_posts 会怎样?你觉得这样处理会更好吗?

标签: php wordpress loops


【解决方案1】:

您尝试过的问题是您将两个帖子数组添加在一起,就好像它们是数字一样;

 $myposts = $myposts1049 + $myposts11;

您应该使用array_merge 将两个数组合并为一个数组并循环遍历该数组;

 $myposts = array_merge( $myposts1049, $myposts11 );

编辑

查看 Wordpress StackExchange 站点,Otto 在这里回答了一个非常相似的问题;

https://wordpress.stackexchange.com/questions/130009/how-to-merge-two-queries-together#answer-130055

WP_Query 对象中使用新数组之前,还额外使用了array_unique 来消除重复项。

【讨论】:

  • 谢谢你,在我读到你的答案之前,我只是设法让它工作,所以没有机会测试它。如果你能确认这会起作用,我会很乐意将其标记为答案,否则我会发布我找到答案的线程并标记那个,你的电话!
  • 嗨,Harry,不用担心,很高兴你把它整理好了。当然,这完全取决于你 :) 我已经编辑了答案以充实它并链接到 WP Stack 上的一个相当不错的线程。干杯。#
  • 好吧,您已经通过外部参考链接回答了您的问题,我将其设置为答案。谢谢。
  • 我也会把这个留在这里,这就是我的答案,与您发布的内容非常相似,但许多资源对未来的读者总是有用的 - wordpress.org/support/topic/…
  • 不错的一个 - 你是对的,更多的链接和推理将它变成一个有用的 SO 资源。干杯!
猜你喜欢
  • 1970-01-01
  • 2016-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-24
相关资源
最近更新 更多