如何在WordPress博客归档页隐藏指定分类(ID=89)
解决WordPress隐藏指定分类(ID89)的问题
1. 隐藏分类列表中的ID89分类
直接在get_categories的参数数组里添加排除规则,获取分类时会自动跳过ID89的分类,自然不会显示它的链接。修改后的代码如下:
<h3>Categories</h3> <?php $categories = get_categories( array( 'hide_empty' => 1, 'exclude' => '89' // 添加此行排除ID89的分类 ) ); foreach( $categories as $category ) { $category_link = get_category_link( $category->term_id ); ?> <ul> <li><a href="<?php echo $category_link; ?>"><?php echo $category->name; ?></a></li> <?php } ?> </ul> </div>
2. 禁止ID89分类的文章出现在主归档页
要确保该分类下的文章不会在博客首页、日期归档、标签归档等主归档区域显示,需要在主题的functions.php文件中添加以下代码:
function exclude_category_from_archives( $query ) { // 仅对前台主查询生效,不影响后台和自定义查询 if ( $query->is_main_query() && !is_admin() && ( $query->is_home() || $query->is_archive() || $query->is_search() ) ) { $query->set( 'cat', '-89' ); // 负号代表排除该ID分类下的文章 } } add_action( 'pre_get_posts', 'exclude_category_from_archives' );
这段代码通过修改主查询规则排除目标分类文章,同时不会影响你在网站其他区域(比如自定义模板、专属短代码)调用该分类的文章。
内容的提问来源于stack exchange,提问作者Nic
相关产品推荐
相关产品推荐

