获取所选父项的子类别中的帖子

时间:2013-06-25 作者:Titan

对于遗留数据,我有以下结构

-顶级类别(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 因为它似乎更能支持继承人制度。

我如何才能获得属于我所选类别的子级“报告”中的所有帖子?

1 个回复
最合适的回答,由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
    ));
}

结束

相关推荐

Looping taxonomy in taxonomy?

所以我有一个CPT的参考文献(就像一个音乐的字典格式)。其中有两种分类法:medium_reference 和reference_letter.这个reference_letter 列出字母A-Z,而medium_reference 按引用类型(人员、术语、公司)列出。我想知道是否有可能遍历每个字母,然后在该循环中遍历各个术语。类似这样的情况(无论如何都不可能):$reference_letters = get_the_terms($post->ID,\'reference_letter\');&#