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的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did9043