php技术博客
让天下没有搞不定的bug~

如何让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

?>

使用方法

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

输出格式

分类一

文章一

文章二

文章三

分类二

文章一

文章二

文章三

技术分享,技术交流,小涛与您共同成长
赞(0)
未经允许不得转载:PHP技术博客 » 如何让wordpress显示所有分类下所有文章列表,分级显示

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    感谢 大概实现了效果 就是显示样式还得自己再调整调整

    奇遇8年前 (2013-12-28)回复