想实现这个功能,但插件都不太给力,其实也不想用插件,最后找了半天才在网上找到一段代码能够实现这种效果。虽然离理想还是有点差距,比如没有实现把父分类和子分类一起列出的功能,但是还是挺满意了。
网上的代码有些不太适合博客的地方已经做了更改。代码如下。
<?php
global $wpdb;
$sql = "SELECT w.term_id,w.name,wt.description,wt.count FROM $wpdb->terms AS w, $wpdb->term_taxonomy AS wt WHERE wt.taxonomy='category' AND wt.term_id=w.term_id AND w.term_id>1 AND wt.parent<>0";
$cat=$wpdb->get_results($sql);
foreach ($cat as $term) :?>
<?php
$id=$term->term_id;
$name=$term->name;
$box='box'.$id;
// $dec=$term->description;
$count=$term->count;
?>
<div><h4><a href="<?php echo get_category_link($id);?>" title="<?php echo $name; ?>"><?php echo $name."(".$count." Posts)"; ?></a></h4>
<p>
<ul id="<?php echo $box;?>" style="display:none"> <!--以列表方式输出文章-->
<?php
global $post;
$myposts = get_posts('numberposts=-1&category='.$id);
foreach($myposts as $post) : ?>
<?php $comm_count=$post->comment_count;?>
<li><a href="<?php the_permalink(); ?>" title="<?php the_title();?>"><?php the_title(); echo " (".$comm_count.")"; ?></a>
<?php the_time('Y-m-d'); ?>
</li>
<?php endforeach; ?>
</ul></p></div>
<?php endforeach; ?>
效果如下。
共有 0 条评论