php shell Ubuntu centos Android linux nginx linux命令 Firefox Python mysql 开源 wordpress Windows HTML5 java google 微软 apache 程序员

如何让wordpress显示所有分类下所有文章列表,分级显示

wordpress是我们经常用到的开源博客,即使他在强大,有时也满足不了用户的需求,今天小涛就遇到了这个问题,就想如何让所有分类和分类下的所有文章全部一块显示出来,大体思路是这样的,先读取数据库执行分类循环,然后再执行查询数据库,读取该分类下的文章,闲话不说了,直接上代码更明了……

<?PHP
 //for each category, show all posts
 $cat_args=array(
 'orderby' => 'name',
 'order' => 'ASC'
 );
 $categories=get_categories($cat_args);
 foreach($categories as $category) {
 $args=array(
 'showposts' => -1,
 'category__in' => array($category->term_id),
 'caller_get_posts'=>1
 );
 $posts=get_posts($args);
 if ($posts) {
 echo '<p>Category: <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </p> ';
 foreach($posts as $post) {
 setup_postdata($post); ?>
 <p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
 <?php
 } // foreach($posts
 } // if ($posts
 } // foreach($categories
 ?>

使用方法

将以上代码添加到想要显示的模版里即可,如果多次使用可以封装到公共函数里,多次使用。

输出格式

  • 分类一
  • 文章一
  • 文章二
  • 文章三
  • 分类二
  • 文章一
  • 文章二
  • 文章三

延伸阅读

评论