WordPress获取指定/当前分类目录的文章数量
获取指定或当前分类目录的文章数量总数这个功能,在开发 WordPress主题中经常会用到。
这个常用的功能也是非常容易实现的,下面分享几种实现方法
首获取当前文章数量
<?php
global $wp_query;
$cat_ID = get_query_var(\\\\\\\'cat\\\\\\\');
$category = get_category($cat_ID);
echo $category->count;
?>
使用方法
在需要获取当前文章数量的页面使用上面代码
//以上代码中,最后的count,也可以换成slug,就是输出分类别名。
echo $category->slug;
解析:
get_cat_ID() 根据分类名称获取分类ID
get_cat_name() 根据分类ID获取分类名称
get_category_link() 根据分类ID获取分类的链接URL
获取某个分类的文章数量
1、使用 WordPress的内置函数 get_posts()
<?php
$posts = get_posts( \\\\\\\'numberposts=-1&category=3\\\\\\\' );
echo count($posts);
?>
2、使用WordPress的内置函数 get_category_by_slug()
<?php
// 将下面\\\\\\\'category-name\\\\\\\'改成你的分类别名即可
echo get_category_by_slug(\\\\\\\'category-name\\\\\\\')->count;
?>
3、 使用 WordPress的内置函数 get_category()
<?php
// 将以下\\\\\\\'cat_ID\\\\\\\'改成你的分类ID即可
echo get_category(cat_ID)->count;
?>
4、 使用 wpdb 直接查询数据库
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);
}
}
第4种方法的使用方法: 将上面代码添加在主题目录下的functions.php中, 然后在需要的地方调用下面三种函数:
// 1.在主循环中调出该函数,不提供参数,返回第一个分类的文章数
<?php echo wt_get_category_count(); ?>
// 2.提供数字参数,该数字为分类的 ID 号,则返回对应 ID 的分类的文章数:
// \\\\\\\'1\\\\\\\'为你的分类ID
<?php echo wt_get_category_count(1); ?>
// 3.提供分类别名做为参数,返回对应别名的分类文章数:
// \\\\\\\'hello-world\\\\\\\'为你的分类别名
<?php echo wt_get_category_count(\\\\\\\'hello-world\\\\\\\'); ?>
总结
个人建议使用WordPress内置函数get_category()获取某个分类的文章数量,也就是第3种方案。
本站声明:
1. 本站所有资源来源于网络,分享目的仅供大家学习和交流! 2. 不得使用于非法商业用途,不得违反国家法律。否则后果自负! 3. 本站提供的资源,都不包含技术服务请大家谅解! 4. 如有链接无法下载、失效或广告,请联系站长处理!
1. 本站所有资源来源于网络,分享目的仅供大家学习和交流! 2. 不得使用于非法商业用途,不得违反国家法律。否则后果自负! 3. 本站提供的资源,都不包含技术服务请大家谅解! 4. 如有链接无法下载、失效或广告,请联系站长处理!
再次声明:如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
本站所有资源解压密码均为www.huziy.com或者www.92luntan.com