wordpress 排除指定文章分类

有的时候,需要创建某个测试文章分类,比如“测试1”、“测试2”,它们的ID分别为13、14,这两个分类下的文章只供特定情况下使用,故在首页、搜索页面、分类目录等栏目都不想显示该分类下及该分类下的文章,就需要在查询的时候排除该分类及该分类下的文章。

分类目录下排除该文章分类

在functions.php中加入以下代码

function exclude_categories( $query ) {
    $query['exclude'] = '-13,-14';
    return $query;
}
add_filter( 'widget_categories_args', 'exclude_categories' );

搜索结果排除该分类的文章

在functions.php中加入以下代码

function exclude_search_category( $query) {
    if ( $query->is_search) {
        $query->set('cat','-13,-14'); 
    }
    return $query;
}
add_filter('pre_get_posts','exclude_search_category');

首页文章列表排除该分类的文章

在functions.php中加入以下代码

function exclude_category_home( $query ) {
    if ( $query->is_home ) {
        $query->set( 'cat', '-13, -14' );
    }
    return $query;
}
add_filter( 'pre_get_posts', 'exclude_category_home' );

统计文章总数排除该分类

在functions.php中加入以下代码

function exclude_category_home( $query ) {
    if ( $query->is_home ) {
        $query->set( 'cat', '-13, -14' );
    }
    return $query;
}
add_filter( 'pre_get_posts', 'exclude_category_home' );

使用wordpress内置函数调用

<?php
    $posts = get_posts( 'numberposts=-1' );
    echo count($posts);
?>

 方法二:

如果你要在首页显示的日志排除某个特定的分类,如何操作呢?下面的代码就是排除 13 和 26 这两个分类的日志。

 

<?php if ( have_posts() ) : query_posts($query_string .'&cat=-13,-26'); while ( have_posts() ) : the_post(); ?>

 

posted @   xiaobingch  阅读(369)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示