1

我已经为 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的Post #5的最新帖子,它是Cat 1的子类别,但是我得到的是Post #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);

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

这个问题有什么解决办法吗?

4

1 回答 1

2

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

尝试使用'cat' => $categoryIDinsted。所以你$args会是:

$args   =   array(
'post_type'         =>  'post',
'posts_per_page'    =>  1,
'cat'      =>  $categoryID,
'post_status'       =>  'publish'
);
于 2013-10-07T09:48:02.107 回答