从分类法/ wp_query中删除特定类别的方法有多种。以下是一种常见的方法:
pre_get_posts
钩子函数来修改查询参数,以排除特定类别。可以在主题的functions.php文件中添加以下代码:function exclude_category_from_query($query) {
if ( !is_admin() && $query->is_main_query() && $query->is_category() ) {
$excluded_category = '特定类别的名称'; // 替换为要排除的类别名称
$excluded_category_id = get_cat_ID($excluded_category);
$query->set('cat', '-'.$excluded_category_id);
}
}
add_action('pre_get_posts', 'exclude_category_from_query');
上述代码中,将特定类别的名称
替换为要排除的类别的名称。这将通过在查询参数中设置cat
参数为类别ID的负值来排除该类别。
pre_get_posts
钩子函数来修改查询参数,以排除多个特定类别。可以在主题的functions.php文件中添加以下代码:function exclude_categories_from_query($query) {
if ( !is_admin() && $query->is_main_query() && $query->is_category() ) {
$excluded_categories = array('特定类别1', '特定类别2', '特定类别3'); // 替换为要排除的类别名称
$excluded_category_ids = array();
foreach ($excluded_categories as $category) {
$excluded_category_ids[] = get_cat_ID($category);
}
$query->set('category__not_in', $excluded_category_ids);
}
}
add_action('pre_get_posts', 'exclude_categories_from_query');
上述代码中,将特定类别1
、特定类别2
、特定类别3
替换为要排除的类别的名称。这将通过在查询参数中设置category__not_in
参数为类别ID的数组来排除这些类别。
请注意,以上代码仅适用于WordPress,并假设你已经了解如何在WordPress中编写和使用主题功能。对于其他CMS或自定义开发环境,可能需要使用不同的方法来实现相同的功能。
推荐的腾讯云相关产品和产品介绍链接地址:
请注意,以上推荐的腾讯云产品仅作为示例,实际选择应根据具体需求进行评估和决策。
领取专属 10元无门槛券
手把手带您无忧上云