📜  wordpress 仅显示父类别 (1)

📅  最后修改于: 2023-12-03 15:06:00.817000             🧑  作者: Mango

WordPress如何仅显示父类别

有时候在WordPress中,我们需要仅显示父类别,而不显示父类别下的子类别。下面介绍两种方法可以实现这个功能。

1. 使用pre_get_posts函数

我们可以使用WordPress中的pre_get_posts函数来实现仅显示父类别。这个函数可以修改主查询的参数,我们可以在其中设置只获取父类别的文章。

function wpb_show_only_parent_category( $query ) {
    if ( $query->is_main_query() && is_category() ) {
        $cat = get_queried_object();
        $query->set( 'category__in', array( $cat->parent ) );
    }
}
add_action( 'pre_get_posts', 'wpb_show_only_parent_category' );
2. 使用WP_Query函数

如果您不想修改主查询,我们可以使用WordPress中的WP_Query函数来自定义查询参数。下面是一个查询父类别文章的示例代码:

$cat = get_queried_object();
$args = array(
    'category__in' => array( $cat->parent ),
    'post_type' => 'post',
    'post_status' => 'publish'
);
$query = new WP_Query( $args );
总结

以上就是两种仅显示父类别的方法。使用pre_get_posts函数可以修改主查询,而使用WP_Query函数可以自定义查询参数。您只需要选择适合您的方法即可。