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' );

来自:http://www.wprecipes.com/how-to-exclude-specific-categories-from-your-blog-homepage

本文地址:http://www.fengmr.com/buxianwenzhang.html
版权所有 © 除非注明 皆为原创 转载请以链接的形式注明出处

reeoo.com - web design inspiration

发表评论

电子邮件地址不会被公开。 必填项已用*标注

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。