【www.bbyears.com--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参数即可,下面是使用示例:
代码如下 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的情况统计得也不是很好