对于遗留数据,我有以下结构
-顶级类别(category)
--子类别(报告)
---发布
我想获得特定顶级类别中的所有帖子。
The problem is all the posts are only assigned to Sub Categories, not their top level categories.
我尝试了以下方法:
function getPostsInCategory($category) {
return get_pages(array(
\'post_status\' => \'publish\',
\'post_type\' => \'post\',
\'child_of\' => $category, // e.g \'3\'
\'numberposts\' => -1
));
}
我使用
get_pages
而不是
get_posts
因为它似乎更能支持继承人制度。
我如何才能获得属于我所选类别的子级“报告”中的所有帖子?
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
您应该使用get_posts
或者(甚至更好)定制WP_Query
查询帖子。
您可以使用get_pages
这样做,但是get_pages
无法使用category
(或其他分类法-只需在WP源中进行检查)即可过滤结果。
因此,您的函数应该如下所示:
function getPostsInCategory($category) {
return get_posts(array(
\'post_status\' => \'publish\',
\'category\' => $category, // e.g \'3\' catgory is passed as \'cat\' param of WP_Query, so it will display posts from children categories as well
\'posts_per_page\' => -1
));
}