十月
22

wordpress之一句代码获取某个分类下的文章数

在做ajaxPaled的封面效果时,想要获取某个分类下的文章数目(只输出数字即可),于是网上搜了下,发现无非就是两种途径,第一种是直接通过洋洋洒洒的几十行代码,利用SQL语句查询出结果。这种方法,一个字感觉:蛋疼!

第二种方法是利用wp_list_categories通过输出“分类名(文章数量)”形式,然后提取出数字。这个方法,用了蛋更疼!!

SO,我只好自己动手,丰衣足食了——

wordpress获取指定分类文章数

我在wordpress的目录路径“include\category.php”文件里,发现了一个get_category_by_slug,此函数作用即是通过传递某个分类的“别名”作为参数,然后返回对这个分类的调用。

所以,我们想要取得分类文章数目,可以这么用

   1: //如果你知道分类别名,可以这么用
   2: <?php echo get_category_by_slug($category_nickname)->count; ?>
   3:  
   4: //如果你知道分类的id,则可以这么用
   5: <?php echo get_category($category_ID)->count; ?>

即可成功输出文章数量了。

当然,get_category_by_slug返回的对分类的调用,还可以获取其他的数据,完整的具体如下

   1: <?php 
   2:     $cat = get_category_by_slug($category_nickname);
   3:     //$cat = get_category($category_ID);
   4:     echo $cat->term_id;//取得分类id
   5:     echo $cat->count;//取得分类文章数统计
   6:     echo $cat->description;//获取分类的描述
   7:     echo $cat->name;//获得分类的名称
   8:     echo $cat->slug;//获取分类的别名
   9:     echo $cat->parent;//获得对当前分类的父级分类的引用
  10: ?>

:别名与正常的名称是不同的(尽管大多数情况它们都是一样的),简单说,别名就是用于分类的url里的。get_category_by_slug需要的参数是分类别名,如果传错了参数,是获取不到对分类的引用的。

另外就是此方法获取的文章数仅仅是你所指定的分类的,不包括它的子分类。例如,你的wordpress分类下还有theme和plugin两个分类,那么你统计wordpress分类的文章数,是不会统计theme和plugin分类的。

所以,我就有了一个问题,如何能同时统计父级分类以及他的所有子分类呢?wordpress

本文标签: , , ,

分享

本文短网址: http://qiqi.boy.im/9a

这篇文章已经有 40 条评论

Comments (38) Trackbacks (2)
You can leave a response or Trackback this entry .
  1. 卢松松 -#21

    原本我想在zblog下弄来着,结果怎么都不成,还是wp强大

  2. b -#22

    你好!我想在自己的博客添加一个新页面,然后在这个页面显示某个文章分类下的文章,我希望不使用插件,通过把page.php修改成一个新的页面模板,请问该怎样修改呢。

  3. coolaroc -#23

    真的不错哎

  4. 戈饭 -#24

    那么怎么统计一个分类下子分类的数目呢?不是子分类的文章,是子分类的数目。

  1. wordpress之获取某个特定标签下的文章数

    [...] 前两天写了篇《wordpress之一句代码获取某个分类下的文章数》,当然,它还有姊妹篇,就是这篇了,如何更简洁的获取标签下的文章数—— [...]

  2. getting her back

    I loved as much as {you will|you’ll} receive carried out right here. The sketch is {tasteful|attractive}, your authored {subject matter|material} stylish. nonetheless, you command get {bought|got} an {edginess|nervousness|impatience|shakiness} over …

    Wise are those who learn that the bottom line doesn’t always have to be their top priority….

Leave a Reply

Hi , say something.

  • :?:
  • :razz:
  • :sad:
  • :evil:
  • :!:
  • :smile:
  • :oops:
  • :grin:
  • :eek:
  • :shock:
  • :???:
  • :cool:
  • :lol:
  • :mad:
  • :twisted:
  • :roll:
  • :wink:
  • :idea:
  • :arrow:
  • :neutral:
  • :cry:
  • :mrgreen: