让 WordPress 网站首页不显示某分类的文章,可通过以下几种方法实现:
方法一:使用插件
1. WP Show Posts
- 安装与激活:登录 WordPress 后台,依次点击 “插件” – “添加新插件”,在搜索框输入 “WP Show Posts”,找到该插件后点击 “安装” 并 “激活”。
- 设置排除分类:激活后,在 WordPress 后台侧边栏找到 “WP Show Posts” 选项。点击 “添加新的展示”,在设置过程中,找到 “分类” 选项,将你不想在首页显示的分类排除在外。完成设置后,使用该插件创建的文章列表将不会包含指定分类的文章。你可以把该列表应用到首页模板中替换原来的文章展示区域。
2. Category Excluder
- 安装与激活:同样在 WordPress 后台 “插件” – “添加新插件” 中搜索 “Category Excluder”,安装并激活。
- 设置排除分类:激活后,在 WordPress 后台侧边栏会出现 “Category Excluder” 选项。点击进入设置页面,勾选你想要从首页排除的分类,保存设置即可。
方法二:修改主题函数文件(functions.php)
- 备份文件:在进行任何文件修改之前,务必备份主题的
functions.php
文件,以防修改出错导致网站无法正常访问。 - 添加代码:登录 WordPress 后台,依次点击 “外观” – “主题编辑器”,在右侧文件列表中找到
functions.php
文件。在文件末尾添加以下代码:
收起
php
function exclude_category_from_home( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'cat', '-分类ID'%20);
}
return $query;
}
add_filter( 'pre_get_posts', 'exclude_category_from_home'%20);
其中,“分类 ID” 需要替换为你想要排除的分类的实际 ID。你可以在 WordPress 后台 “文章” – “分类” 中,将鼠标悬停在分类名称上,浏览器底部状态栏会显示该分类的链接,链接中
cat=数字
的数字就是分类 ID。
- 保存文件:添加代码后,点击 “更新文件” 保存修改。此时,首页将不再显示指定分类的文章。
方法三:使用自定义查询修改首页模板文件
- 找到首页模板文件:不同主题的首页模板文件名称可能不同,常见的有
index.php
、home.php
等。在 WordPress 后台 “外观” – “主题编辑器” 中找到对应的文件。 - 修改查询代码:在模板文件中找到文章查询的代码部分,一般是类似
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
的循环代码之前。将默认的查询替换为自定义查询,示例代码如下:
收起
php
$args = array(
'category__not_in'%20=> array(分类ID),
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) :
while ( $query->have_posts() ) : $query->the_post();
// 这里是文章显示的代码,如标题、内容等
the_title( '<h2><a href="'%20. esc_url( get_permalink() ) . '">', '</a></h2>'%20);
the_content();
endwhile;
wp_reset_postdata();
endif;
同样,“分类 ID” 需要替换为你想要排除的分类的实际 ID。修改完成后保存文件,首页将不再显示指定分类的文章。