所以,由于@TomJ Nowell提到的问题,这样做实际上有点复杂,因为这取决于您想如何对帖子进行排序,以及是否需要分页。如果你按日期对帖子进行排序,那么即使你可以按类别进行分组,每个页面的结果可能仍然会有一些来自每个类别的结果。
不过,如果你没有太多帖子,也不想分页,那么有一个简单的答案,那就是遍历类别并输出每个类别中的所有帖子。这里有一些例子here 和here, 其中最简单的如下所示:
$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();
您需要对其进行编辑,以呈现类别标题并按您的需要发布。
这样做的缺点是,它会运行更多的查询-每个类别一个,然后如果你有很多帖子,这个页面就会很长!