原本是想刚发布的文章不在首页显示,后来找到了如何使某个分类的文章不在首页显示,对我来说效果是一样的,尝试了一下,可以实现。
找到了三种方法,我只尝试了一种
注:页面非主题中的,是在wp-admin/wp-includes中
1
//要解决这一问题,我们要用首页模板里面的 query_posts 函数:后台 – 外观 – 编辑 – 首页模板(index.php)
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
//修改为:
<?php if ( have_posts() ) : query_posts($query_string .'&cat=-20,-22'); while ( have_posts() ) : the_post(); ?>
//直接在当前主题模板的首页 index.php 中修改调出代码,比如上面的代码中是让 20 和 22 分类不显示出来。
2
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
//如果不想在首页显示某一个分类的文章,只需要在这句代码下面再加一句
<?php if (is_home() && in_category(‘1’) ) continue; ?>
//把其中的 in_category(’1′) 这里的数字改成你不想显示出来的分类的 ID 就可以了。
3
我用就是第三种方法,直接在functions.php中添加即可,分类ID修改下
//functions.php 修改,这个方法是比较好的,建议使用。
function exclude_category_home( $query ) {
if ( $query->is_home ) {
$query->set( 'cat', '-20, -22' ); //你要排除的分类 ID
}
return $query;
}
add_filter( 'pre_get_posts', 'exclude_category_home' );
ID是在你打开分类目录时的链接上有