我正在尝试创建一个循环,从一个类别中获取最新的 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;
最佳答案
您所尝试的问题是您将两个帖子数组添加在一起,就好像它们是数字一样;
$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
来消除重复项。
关于php - Wordpress:显示一个类别的 25 个帖子和另一个类别的 55 个帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28580579/