如何在我的每月存档中隐藏特定类别的帖子?

时间:2012-02-01 作者:Ahmad

我在wordpress网站上使用的是“二十一”主题。

在帖子中,我有两个类别。一个是博客,另一个是新闻。

每月存档显示所有类别的帖子,而我希望每月存档只显示博客类别的帖子。

我该怎么做?

我还为分页安装了wp\\u pagenavi插件。

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

有两种方法:

查看存档页时,可以使用筛选器更改查询。您需要找到类别“博客”的ID(您可以使用get_term_by). 或者,您可以按ID排除特定类别。

add_action( \'pre_get_posts\', \'my_change_query\'); 
    function my_change_query($query){
        if(is_archive()){
           $blog_term = get_term_by(\'slug\', \'blogs\', \'category\');
           $blog_term_id = $blog_term->term_id;
           $query->set(\'cat\', $blog_term_id);//Include category with ID $blog_term_id
           //$query->set(\'cat\',\'-\'.$blog_term_id);//Exclude category with ID  $blog_term_id
        }  
     return $query
    };
或者,更常见的是,您可以更改archive.php 模板文件,并在if(have_posts()).

global $wp_query;
$args = array_merge( $wp_query->query, array( \'category_name\' => \'blogs\' ) );
query_posts( $args );
参见上的Codexquery_postsWP_Query.

结束