今天想要获取分类文章数量,但是出现了一个问题就是文章分类我仅仅勾选了子分类,没有勾选父分类。这种情况下,通过分类相关函数获取文章数量存在一定的问题,常用的获取分类文章数量函数一般都是下面的方式:
$category = get_category($id); $count = $category->category_count;
不知道是我操作错误还是本身这个函数就不针对子分类,无法获取子分类的文章数量,该函数介绍如下: [wp url="https://developer.wordpress.org/reference/functions/get_category/" unique_number="wp_5d86229dbbd84b50ae525c08c9bcce54"]
所以,如果你想要获取分类及其子分类的文章数量,可能就需要曲线救国了,想要获取的方式很多,可以通过term关联获取也可以直接通过wp_query函数获取,我这边推荐使用后者:
function ipt_kb_total_cat_post_count( $cat_id ) { $q = new WP_Query( array( 'nopaging' => true, 'tax_query' => array( array( 'taxonomy' => 'category', 'field' => 'id', 'terms' => $cat_id, 'include_children' => true, ), ), 'fields' => 'ids', ) ); return $q->post_count; }
参考代码如上,如果你有需要的话可以直接使用看看效果。