按类别分组每月存档中的帖子

时间:2020-07-16 作者:Zero Goki

我正在使用我网站上的每月档案,但我的循环当前以这种方式显示我的帖子:类别标题Post title 1类别标题Post title 2etc。。

我想做的是显示活动月份中按类别分组的所有帖子,因此如果类别中有4篇帖子,则显示如下:类别标题Post title 1Post title 2Post title 3

其他类别标题Post title 4

有没有一种简单的方法可以这样对帖子进行分组?

2 个回复
SO网友:mozboz

所以,由于@TomJ Nowell提到的问题,这样做实际上有点复杂,因为这取决于您想如何对帖子进行排序,以及是否需要分页。如果你按日期对帖子进行排序,那么即使你可以按类别进行分组,每个页面的结果可能仍然会有一些来自每个类别的结果。

不过,如果你没有太多帖子,也不想分页,那么有一个简单的答案,那就是遍历类别并输出每个类别中的所有帖子。这里有一些例子herehere, 其中最简单的如下所示:

$categories = get_categories( array (\'orderby\' => \'name\', \'order\' => \'asc\' ) );

foreach ($categories as $category){

   echo "Category is: $category->name <br/>";

   $catPosts = new WP_Query( array ( \'category_name\' => $category->slug, \'orderby\' => \'title\' ) ); 

   if ( $catPosts->have_posts() ){

       while ( $catPost->have_posts() ){
          $catPost->the_post();
          echo "<a href=\'the_permalink()\'>the_title()</a>";
       }

   }//end if

} //end foreach

wp_reset_postdata();
您需要对其进行编辑,以呈现类别标题并按您的需要发布。

这样做的缺点是,它会运行更多的查询-每个类别一个,然后如果你有很多帖子,这个页面就会很长!

SO网友:Zero Goki

谢谢,我不需要分页,因为每个月只有很少的帖子,也只有很少的类别。我要试试这个,然后告诉你这是否有效!再次非常感谢

相关推荐

permalinks issue and archives

我对运行在WP 3.3上的一个站点有一个问题,当我们通过“/%post\\u id%/%postname%/”使永久链接成为任何内容时,归档页面会断开并变成404。经过一些研究,我明白了为什么从性能的角度来看,这不是一个好的做法,所以我尝试了建议的备选方案:“/%year%/%postname%/”和“/%post\\u id%/%postname%/”这两个建议都有效,只是只有使用post\\u id的建议,归档URL才会变成“/date/2012/11/”,并被找到。根据permalink的任何其他建