wordpress设置某些分类文章不在首页显示

1.有时候我们并不希望所有分类的文章都在首页显示,那么现在有代码可以实现。我之前使用的代码是这样的:(index.php)

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

可惜这个方法有点小缺陷,如果你在首页上一直翻页,你会发现后面有许多空页面。这是因为代码虽然阻止了文章在首页出现,但是依然输出了页面。

2.下面要说的这个方法比较绝,不仅解决了以上的问题,连带边栏的“最新文章”和“随机文章”都不再显示该分类。可谓经济实惠又一劳多得的方法。
你只要在主题的functions.php文件中加入以下代码:

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

add_filter( 'pre_get_posts', 'exclude_category_home' );
  1. 目前还没有评论

评论关闭了.