我的博客分类里有一个状态分类,更新相对频繁,但是字数又少~
显示在首页显得非常难看,所以就想要把他在首页给排除掉。
网上找了很多方法
比如:<?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拉,大功告成。
Comments | 4 条评论
来访咯
在feed里也删掉吧,不然订阅了你的feed也麻烦的
我就是删除了首页显示,删除了feed显示
@从良未遂
谢谢大侠建议咯,新手考虑不全哈,现在已经删除了feed显示了,谢谢哈~ :cool:
学习啦