78模板网分享cms建站教程,提供网站模板、网站插件、办公模板等模板教程免费学习,找模板教程就上78模板网!

WordPress获取指定/当前分类目录的文章数量

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种方案。

本文链接:http://78moban.cn/post/14354.html

版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!

联系技术
文章删除 友链合作 技术交流群
1050177837
公众号
公众号
公众号
返回顶部