【经历】在首页和Feed不显示指定分类文章

发布于 2014-10-23  5.95k 次阅读


我的博客分类里有一个状态分类,更新相对频繁,但是字数又少~

显示在首页显得非常难看,所以就想要把他在首页给排除掉。

网上找了很多方法

比如:<?php if (in_category('1') && is_home()) continue; ?>把这个代码放在 while (have_posts()) : the_post();的后面,意思是分类ID是1的,并且是在首页,则跳过,不显示。

但是别人主题或许可以这么用,自用主题上使用之后首页的文章数目就出现差错了

————原本显示10篇的只显示了没几篇···

所以在我自己主题上无法使用!

另外还找了很多方法,不知为何我主题上就不能用

功夫不负有心人,终于找到了一个合适的方法,就是在functions中添加过滤器

在functions.php中添加代码:

function excludeCat($query) {
if ( $query->is_home || $query->is_feed) {
$query->set('cat', '-1');
}
return $query;
}
add_filter('pre_get_posts', 'excludeCat');

$query->is_home || $query->is_feed意思是判断是首页或者feed都不显示

其中的-1就是想要不显示的分类id。

添加好之后就OK拉,大功告成。

资料来源


生命旅客,闷头赶路总不太可取,留一刻给那可爱可敬的人,留一眼给那靓丽迷人之景,也请善待自己~