好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

WordPress获取指定分类文章总数(子分类) - WordPres

WordPress获取指定分类文章总数(子分类)

首先,定义实现函数,将以下php代码复制到当前主题的functions.php中:

function  ludou_get_cat_postcount( $id ) {      // 获取当前分类信息       $cat  = get_category( $id );      // 当前分类文章数       $count  = (int)  $cat -> count ;      // 获取当前分类所有子孙分类       $tax_terms  = get_terms( 'category' ,  array ( 'child_of'  =>  $id ));      foreach  ( $tax_terms   as   $tax_term ) {         // 子孙分类文章数累加          $count  += $tax_term -> count ;     }      return   $count ;  } 

好了,函数定义完毕,在使用的时候只需给ludou_get_cat_postcount函数传递分类id参数即可,下面是使用示例:

<?php      echo   'ID为123的分类及其子孙分类的文章数量为:'  . ludou_get_cat_postcount(123);  ?> 

获取某个分类下的文章数,代码如下:

<?php  echo  get_category_by_slug( $category_nickname )-> count ; ?>  <?php  echo  get_category( $category_ID )-> count ; ?> 

获取其它分类,代码如下:

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

获取特定分类文章数,将以下PHP代码放置在主题目录下的functions.php中:

function  wt_get_category_count( $input  =  '' ) {       global   $wpdb ;         if ( $input  ==  '' ) {           $category  = get_the_category();           return   $category [0]->category_count;      }       elseif ( is_numeric ( $input )) {           $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" ;           return   $wpdb ->get_var( $SQL );      }       else  {           $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'" ;           return   $wpdb ->get_var( $SQL );      }  } 

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

<?php echo wt_get_category_count(); ?>

2、提供的参数为数字,且该数字为分类的ID号,则返回对应ID的分类的文章数,代码如下:

<?php echo wt_get_category_count(1); ?>

3、提供分类的别名,则返回对应缩略名(别名)的分类文章数,代码如下:

<?php echo wt_get_category_count('hello-world'); ?>

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

查看更多关于WordPress获取指定分类文章总数(子分类) - WordPres的详细内容...

  阅读:58次