说明:代码中加了判断是否是首页(is_home()),只是在首页中隐藏某个分类,或不显示某分类中的文章。
1. 在分类目录中不显示某个分类
当一个分类被添加至一个菜单项的时候,这个分类是不应该在分类目录中显示的,因为点击菜单便可以打开该分类,显示在分类目录中没必要而且多余。
进入后台外观 –> 编辑 –> functions.php,在最下面加入下面代码(隐藏ID为1和5的分类目录):
function exclude_category($query) { if (is_home()) { $query->set('cat', '-1, -5'); // 1, 5是分类ID } return $query; } add_filter('pre_get_posts', 'exclude_category');
2. 首页中不显示某个分类中的文章
如果某个分类中的文章另有用途,则不希望它在首页中显示(新文章默认都会在首页显示,不管是显示在最前面还是最后面)。
方法1:后台 –>外观 –> 编辑 –> functions.php,最后面加上下面代码(过滤分类ID为1的文章):
function mk_exclude_widget_category( $cat_args ) { if (is_home()) { //这里的数组内的数字就是要排除的分类目录的id $cat_args['exclude'] = array(1); } return $cat_args; } add_filter( 'widget_categories_args', 'mk_exclude_widget_category', 10, 1 );
方法2:后台 –> 外观 –> 编辑 –> index.php,找到下面代码:
<?php while ( have_posts() ) : the_post(); ?>
在后面加上下面语句(不显示目录1中的文章):
<?php if (in_category(array(1, 38))) continue; ?>
P.S.
1. 如何查找分类ID
站点后台 –> 文章 –> 分类目录,点击查看某个分类,浏览器地址栏中,“cat=”后面的数字便是该分类的ID。
2. 也可以安装插件来隐藏目录及其对应的文章
插件名称:Advanced Category Excluder (我没有用过)