在做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分类的。
所以,我就有了一个问题,如何能同时统计父级分类以及他的所有子分类呢?