Loading
0

WordPress教程 如何获取分类文章数?

只需要把下面的代码放置到当前主题 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);
}
}

将统计文章的函数添加到 functions.php 文件中后,还需要在前台需要的地方进行代码的调用,以返回一个分类的文章数量,这里有三种调用的方法,如下所示.
1.1 在主循环中调出该函数,且不提供参数,则返回第一个分类的文章数:
<!--?php echo wt_get_category_count(); ?-->
1.2 提供的参数为数字,且该数字为分类的ID号,则返回对应ID的分类的文章数:
<!--?php echo wt_get_category_count(1); ?-->
1.3 提供分类的别名,则返回对应缩略名(别名)的分类文章数:
<!--?php echo wt_get_category_count(‘hello-world’); ?-->
该函数对于含有子分类的分类,文章数统计上会有稍许误差。对于分类文章数为0的情况统计得也不是很好。