WordPress首页不显示某分类下的文章

在博客中,如果我们不想让某个分类下的文章在首页显示,可以修改index.php文件。(注意:并不是所有主题都是在index.php)我在用了query_posts函数之后,虽然达到了首页不显示某分类文章的效果,却造成了无法翻页。

方法一:

找到:

<!–?php if (have_posts()) : ?–><!–?php while (have_posts()) : the_post(); ?–>

修改为:

<?php if ( have_posts() ) : query_posts($query_string .’&cat=-26′); while ( have_posts() ) : the_post(); ?>

分类ID为26的文章目录将不在首页显示。

方法二:

如果方法一已经达到了你要的效果,并且可以正常翻页,未出现问题,你可以不要再看方法二了。

找到:

<!–?php if (have_posts()) : ?–><!–?php while (have_posts()) : the_post(); ?–>

修改为:

<?php
if (is_home()) {
$paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;
$args = array(‘category__not_in’   => array(26),
‘paged’ => $paged);
query_posts($args);
}
if ( have_posts() ) : while ( have_posts() ) : the_post();
?>

如果你有多个分类不想显示,可以添加更多的分类id,array(1,2,3)

推荐方法三:

修改functions.php

//在首页中排除某些分类
function exclude_category_home( $query ) {
if ( $query->is_home ) {
$query->set( ‘cat’, ‘-26, -32’ ); //你要排除的分类ID
}
return $query;
}

add_filter( ‘pre_get_posts’, ‘exclude_category_home’ );