wordpress首页如何实现分类显示文章

想在首页只显示指定分类的文章,在网上找到的方法是

<?php while( have_posts()): the_post();update_post_caches($posts);?> 
<?php if(in_category('diary')):?> 
<div class="post"> 
……循环体结构代码……
</div> 
<?php endif;?> 
<?php endwhile;?>
<?php pagination($query_string); ?>

但是我的首页是一页显示一篇文章,采用这个方法的话,如果我有四篇文章,两篇是diary类,两篇不是该类,首页虽然的确显示了diary类的文章,但是页码显示是有4页,请问这个页码问题怎么解决?

阅读 5k
1 个回答

应该这样:

add_action( 'pre_get_posts', 'wpdit_pre_get_posts' );
function wpdit_pre_get_posts( $wp_query ) {
    if ( is_home() || is_front_page() ){
        $wp_query->set( 'category__in', array(1) );
    }
    return $wp_query;
}

你的需求是“首页只显示指定分类的文章”,所以要事先在首页只获取指定分类下的文章;
而非提出全部文章再去判断哪个该在首页显示或不显示。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题