如何在父类别中显示子帖子

时间:2018-09-05 作者:Alex Gromov

我有一个网站。有以下结构:

父类别:
子类别1
子类别2

在父类别中,我需要显示子类别的所有帖子。

我编写下一个WP查询:

<?php
    $child_pages = new WP_Query(array(
        \'post_type\' => \'post\',
        \'category__in\' => 5,
        \'posts_per_page\' => 3,
        \'order\' => \'ASC\',
        \'orderby\' => \'title\',
    )
);
?>
对于参数“category\\uu in”,我设置父类别ID(其父类别ID)。但它不起作用。不显示父类别中的帖子。

如何获取父类别上的所有子类别帖子?

伙计们,对不起我的英语。我正在学习。。是的,我很惭愧)

1 个回复
最合适的回答,由SO网友:CodeMascot 整理而成

您需要使用tax_query 具有WP_Query. 使用tax_query, 默认情况下,子术语包括在要设置的术语中。下面是一个例子-

$args = array(
      \'post_type\'      => \'post\', // Your post type
      \'orderby\'        => \'meta_value_num\', 
      \'meta_key\'       => \'rankk\', 
      \'order\'          => \'DESC\', 
      \'posts_per_page\' => 100,
      \'tax_query\' => array(
            array(
                \'taxonomy\'         => \'category\', // Taxonomy name
                \'field\'            => \'term_id\', // Means you\'ll use term id to determine your parent term.
                \'include_children\' => true,
                \'operator\'         => \'IN\'
                \'terms\'            => \'YOUR PARENT CATEGORY ID\', // Your term or category ID
            ),
        ),
);

$q = new WP_Query( $args );

if ( $q->have_posts() ) {
    while ( $q->have_posts() ) {
        $q->the_post();
        the_title();
    }
    wp_reset_postdata();
}
希望以上内容有所帮助。

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post