隐藏帖子属于主页中的几个类别

时间:2015-07-09 作者:Janith Chinthana

目前我正在使用主页设置中显示的所有最新帖子。但现在我需要隐藏一些特定的类别以显示在主页中。

所有属于这些特定类别的帖子都不应显示在主页中。

有人知道我该怎么做吗?

Edited:

我使用以下代码检索要在主页中显示的帖子,

if ( get_query_var(\'paged\') ) { $paged = get_query_var(\'paged\'); }
elseif ( get_query_var(\'page\') ) { $paged = get_query_var(\'page\'); }
else { $paged = 1; 
$args = array(
    \'paged\' => $paged
);
query_posts( $args );
if (have_posts()) : while (have_posts()) : the_post();

1 个回复
最合适的回答,由SO网友:Robert hue 整理而成

你可以用pre_get_posts.此挂钩在创建查询变量对象之后,但在实际查询运行之前调用。

用于排除category id 3239 从主页,您可以设置这样的功能。

function wpse_exclude_categories( $query ) {

    if ( is_admin() )
        return;

    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( \'cat\', \'-32,-39\' );
    }

}

add_action( \'pre_get_posts\', \'wpse_exclude_categories\', 1 );

EDIT

尽管我强烈建议您使用WP_Query. 但您可以更改代码以排除类别帖子query_posts.

$args = array(
    \'cat\' => \'-32,-33\',
    \'paged\' => $paged
);

结束

相关推荐

为什么Pre_Get_Posts挂钩会导致Apache停止工作?

我的所有帖子都有一个名为\'validity\' 我在那里指定日期,直到帖子生效。我的分类法档案显示了所有的帖子。现在我想在那里过滤,并排除无效的帖子。我写道:function e_exclude_posts( $query ) { if( $query->is_tax(\'my_tax\') ) { $query->set( \'post__not_in\', array( 530 ) ); } } add_action( \