要防止使用functions.php显示子类别的帖子,可以采取以下步骤:
function exclude_child_categories($query) {
if ( $query->is_category ) {
$cat = get_queried_object();
$child_cats = get_term_children( $cat->term_id, 'category' );
$exclude_cats = implode( ',', $child_cats );
$query->set( 'category__not_in', $exclude_cats );
}
}
add_action( 'pre_get_posts', 'exclude_child_categories' );
这段代码将在查询帖子时排除子类别。它使用pre_get_posts
钩子来修改查询对象,并使用category__not_in
参数来排除子类别。
这样,当使用functions.php文件中的代码后,WordPress将不再显示子类别的帖子。
需要注意的是,以上代码仅适用于WordPress,并且假设使用的是默认的分类法(category)。如果使用的是自定义分类法或其他类型的分类,需要相应地修改代码。
推荐的腾讯云相关产品:腾讯云云服务器(https://cloud.tencent.com/product/cvm)和腾讯云云函数(https://cloud.tencent.com/product/scf)可以帮助您在云计算环境中部署和管理您的WordPress网站。
领取专属 10元无门槛券
手把手带您无忧上云