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
?>
使用方法
将以上代码添加到想要显示的模版里即可,如果多次使用可以封装到公共函数里,多次使用。
输出格式
分类一
文章一
文章二
文章三
分类二
文章一
文章二
文章三
技术分享,技术交流,小涛与您共同成长