A-A+

wordpress获取分类文章数的方法

2015年05月17日 PHP开源系统 评论 9 条 阅读 345 views 次

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的情况统计得也不是很好。

标签:

9 条留言  访客:9 条  博主:0 条

  1. 鸿岭网赚

    不行,显示代码错误!

  2. 懿古今

    这个方法挺不错,有时候能够显示分类文章数好的

  3. 玮鸫

    这个我也要记一下,在修改主题的时候能用到

  4. 微部落博客

    wp小工具中有统计文章数的功能吧。。。

    • smiling

      统计文章数需要单独安装一个插件。

    • percy

      醉了,我弄了半天,始终在我的主题文件中找不到在哪儿添加统计目录文章数目的代码,刚刚看到你的回答,一看,果然wordpress自带此功能。谢谢 😛

  5. 大谋士网

    😀 学习了,要是弄张效果图可呢就更吸引人了。

    • smiling

      只是一个简单的功能,就不弄效果图了。

  6. an9

    不明觉历。 😆

给我留言