获得WordPress指定分类(包括子分类)下的所有文章数

十二月 29
磊子 2011年 7 条评论

今天在给客户解决问题时发现在wordpress后台添加的文章分类中每个父分类下有多个层级的子分类,而且需要将一个父分类下所有子分类的文章数目进行统计,之前做的时候都是一个分类,没有涉及到子分类。所有统计方法很简单可以使用get_categories()这个函数就可以做到,但是呢要统计子分类下的文章数目,直接使用这个函数是做不了的,查了下资料找到的都是使用SQL语句查询数据库来做的,而且都不能满足自己的要求。所有还是决定自己写一个出来。经过测试没有发现一些问题。而且可以对分类级数没有限制,也就是说不管你创建了多少个子分类,只要里面有文章都可以统计出来,只要我们在相应的添加代码即可。方法如下:

$parent_array = get_categories('hide_empty=0&parent=79');

//使用get_categories()函数,里面参数的意思是hide_empty把子分类下没有文章的也显示出来
//parent 父级分类的ID号

foreach($parent_array as $k=>$v)  //第一步
{

$sub_parent_array = get_categories('parent='.$v->cat_ID); 

  foreach($sub_parent_array as $kk=>$vv)   //第二步
  {

     $three_parent_array = get_categories('hide_empty=0&parent='.$vv->cat_ID);

     foreach($three_parent_array as $kkk=>$vvv)  //第三步
     {
        $three_count +=$vvv->category_count;  //第三极子分类下文章数进行统计
     }

     $sub_count +=$vv->category_count;  //第二级子分类下文章数进行统计

  }
 $count +=$v->category_count;  //第一级子分类下文章数进行统计
}

$total = $count+$sub_count+$three_count; //将第一级和第二级和第三级统计的文章数目进行相加后放到一个变量中。

这样我们通过php的foreach循环用很少的代码就将一个分类下的文章数目统计出来了,具体的效果点击这里查看http://www.favortt.com/wordpress-index如果遇到第四级的时候只需要按照上面的做法在操作一次就可以了。大家感兴趣的可以试一下,如果有别的更好的方法或者有什么问题的,欢迎大家留言!

» 版权所有©转载必须以链接形式注明作者和原始出处:磊子的博客 » 获得WordPress指定分类(包括子分类)下的所有文章数
» 地址:( Ctrl+C 复制 )
» 如果对本站感兴趣,请到网站右下方订阅本站,将为你带来更多精彩和实用的文章
» 如果您对这篇文章感兴趣,不妨小小的 捐助(Donate)一下博主吧,不管多少都是对博主最大的支持和鼓励哟,博主-磊子感谢大家的支持!!!

7 条留言 其中:访客:5 条, 博主:2 条

  1. 老庞说:

    磊哥你好,终于找到这个获得父分类所有文章数的教程了,但本人是个菜鸟,不知怎么添加,不知是否有空指点一下?我用的是cms分类的模板,在首页显示的是一个父分类下的文章,分类最下面有个“共xx篇文章”的显示,由于默认只显示子分类的,所以看到这里想求教一下具体代码要填在哪里?顺便问一下这功能能否根据自己选择的分类自动选择而不是手动输入分类ID?谢谢。你可以到首页看效果

  2. 坪山说:

    学习了,最近都在找wordpress的东西看,发现好多要学的,恨自己不会php和js

  3. 写得不错 支持一下先

  4. 技术咱只能认真看。

说点什么吧




订阅本站