WordPress | WP_Query |从类别和子类别获取最新的端口

时间:2013-10-07 09:16:57

标签: wordpress wordpress-theming

我为WordPress写了一个主题,我喜欢在类别中发布最新帖子,并且它的子类别会显示在任何其他帖子之上。

一个例子。可以说我有以下类别:

Cat 1
    Cat 1 - 1
    Cat 1 - 2
        Cat 1 - 2 - 1

然后我创建了以下帖子:

Post #5   |   Cat 1 - 2       | Date 2013
Post #4   |   Cat 1 - 1       | Date 2012
Post #3   |   Cat 1 - 2       | Date 2011
Post #2   |   Cat 1           | Date 2010
Post #1   |   Cat 1 - 1 - 2   | Date 2009

在前端,当我导航到 Cat 1 时,我没有收到属于 Cat 1 - 2 <帖子#5 的最新帖子/ strong>这是 Cat 1 的子类别,但我得到的是帖子#2

目前我正在使用此代码:

$categoryID         =   get_query_var('cat');

$args   =   array(
    'post_type'         =>  'post',
    'posts_per_page'    =>  1,
    'category__in'      =>  array($categoryID),
    'post_status'       =>  'publish'
);

$eiPost =   new WP_Query($args);

问题是此代码仅返回顶级类别的最新帖子,而不是子类别。如何修改此代码,以便从所有子类别和顶级类别中检索最新帖子?

这个问题有解决办法吗?

1 个答案:

答案 0 :(得分:1)

'category__in'仅显示该类别的帖子,而不是子类别。

尝试使用'cat' => $categoryID insted。所以你的$args将是:

$args   =   array(
'post_type'         =>  'post',
'posts_per_page'    =>  1,
'cat'      =>  $categoryID,
'post_status'       =>  'publish'
);