A-A+

wordpress获取分类文章数的方法

2015年05月17日 编程技术 暂无评论

wordpress 是没有显示分类文章数量统计的功能,和 phpcms 不一样,在phpcms中,每个分类下都有其当前分类文章的数量,让访客一眼就能知道这个栏目有多少篇文章,而在 wordpress 中是可以统计整站总计的文章数量,那么如果我们想要显示出来当前分类文章数呢,下面小虎博客就来分享一下相关的代码,其实也很简单,只需要把下面的代码放置到当前主题 functions.php 文件中即可。

实例代码如下:

  1. function wt_get_category_count($input = ”) {  
  2. global $wpdb;  
  3. if($input == ”) {  
  4. $category = get_the_category();  
  5. return $category[0]->category_count;  
  6. }  
  7. elseif(is_numeric($input)) {  
  8. $SQL = ”SELECT $wpdb->term_taxonomy.count FROM $wpdb->terms, $wpdb->term_taxonomy WHERE $wpdb->terms.term_id=$wpdb->term_taxonomy.term_id AND $wpdb->term_taxonomy.term_id=$input”;  
  9. return $wpdb->get_var($SQL);  
  10. }  
  11. else {  
  12. $SQL = ”SELECT $wpdb->term_taxonomy.count FROM $wpdb->terms, $wpdb->term_taxonomy WHERE $wpdb->terms.term_id=$wpdb->term_taxonomy.term_id AND $wpdb->terms.slug=’$input’”;  
  13. return $wpdb->get_var($SQL);  
  14. }  
  15. }  

将统计文章的函数添加到 functions.php 文件中后,还需要在前台需要的地方进行代码的调用,以返回一个分类的文章数量,这里有三种调用的方法,如下所示.

1.1 在主循环中调出该函数,且不提供参数,则返回第一个分类的文章数:

  1. <?php echo wt_get_category_count(); ?>  

1.2 提供的参数为数字,且该数字为分类的ID号,则返回对应ID的分类的文章数:

  1. <?php echo wt_get_category_count(1); ?>  

1.3 提供分类的别名,则返回对应缩略名(别名)的分类文章数:

  1. <?php echo wt_get_category_count(‘hello-world’); ?>  

该函数对于含有子分类的分类,文章数统计上会有稍许误差。对于分类文章数为0的情况统计得也不是很好。

标签:

给我留言