在每个类别的第一个帖子前显示类别名称

时间:2015-04-28 作者:Ivan Myshkin

我想按类别对循环中的帖子进行排序,并在每个类别中的第一篇帖子之前显示类别名称。

例如:

Category 1
   Post
   Post
   Post
Category 2
   Post
   Post
   Post
   Post
Category 3
   Post
等等。

是否可以使用一个循环来执行此操作?

p、 对不起,我的英语很糟糕。

1 个回复
SO网友:Sladix

您可以使用两个查询,第一个查询可以获得如下分类:

$categories = get_categories();
有关参数的更多信息here.然后浏览您的类别集合,并获得其前n篇帖子,如下所示:

foreach($categories as $cat)
{
    //get the $n posts from this category
    $post_query = new WP_Query(
        array(\'post_type\' => \'post\',
          \'posts_per_page\' => $n ,
          \'tax_query\' => array(
                array(
                  \'taxonomy\' => $cat->taxonomy,
                  \'field\'    => \'slug\',
                  \'terms\'    => $cat->term_id,
               )
         )
       )
    );
    echo \'<h2>\'.$cat->name.\'</h2>\';
    while($post_query->have_posts()){
       $post_query->the_post();
       echo get_the_title();
    }wp_reset_query();
}
希望能有所帮助=)

结束

相关推荐

Categories' hierarchy in URL

我目前正在处理的网站中的帖子都有多个层次分类。例如:Source - Books -- Moby Dick -- Sherlock Holmes 永久链接设置为/%category%/%postname%/. 然而,一篇文章的URL并不包括所有的子类别——我得到的只是site.com/source/books/*postname*, 尽管这篇文章在来源上没有分类,但只在书籍+白鲸上。有人能帮我找出如何调整这种行为吗?非常感谢。