📅  最后修改于: 2023-12-03 15:06:00.817000             🧑  作者: Mango
有时候在WordPress中,我们需要仅显示父类别,而不显示父类别下的子类别。下面介绍两种方法可以实现这个功能。
我们可以使用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' );
如果您不想修改主查询,我们可以使用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
函数可以自定义查询参数。您只需要选择适合您的方法即可。