一聚教程网:一个值得你收藏的教程网站

热门教程

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

时间:2022-06-25 18:57:17 编辑:袖梨 来源:一聚教程网

实现函数

首先,定义实现函数,将以下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参数即可,下面是使用示例:

 代码如下 复制代码
   echo 'ID为123的分类及其子孙分类的文章数量为:' . ludou_get_cat_postcount(123);
?>

获取某个分类下的文章数

 代码如下 复制代码

count; ?>

 
count; ?>

获取其它分类

 代码如下 复制代码

$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);
    }
}

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

 代码如下 复制代码


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

 代码如下 复制代码


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

 代码如下 复制代码


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

热门栏目