我为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);
问题是此代码仅返回顶级类别的最新帖子,而不是子类别。如何修改此代码,以便从所有子类别和顶级类别中检索最新帖子?
这个问题有解决办法吗?
答案 0 :(得分:1)
'category__in'
仅显示该类别的帖子,而不是子类别。
尝试使用'cat' => $categoryID
insted。所以你的$args
将是:
$args = array(
'post_type' => 'post',
'posts_per_page' => 1,
'cat' => $categoryID,
'post_status' => 'publish'
);