function count_cat_post($category) {
if(is_string($category)) {
$catID = get_cat_ID($category);
}
elseif(is_numeric($category)) {
$catID = $category;
} else {
return 0;
}
$cat = get_category($catID);
return $cat->count;
}
// Usage
echo count_cat_post('1');
echo count_cat_post('General');
Взято из здесь . Простой поиск в Google дал бы ваш ответ!
Если вы используете функцию the_category()
, вам необходимо отфильтровать количество сообщений в этой функции. Этот ответ в посте на WordPress Stack Exchange объясняет, как это сделать. Обратите внимание, что функция the_category()
на самом деле просто echo get_the_categories();
, поэтому фильтр в связанном ответе должен работать для вас.
Для полноты вот код из ответа, связанного выше.
add_filter('get_the_categories', 'wpse50876_the_counter');
function wpse50876_the_counter($cats){
foreach($cats as $cat){
$cat->cat_name = $cat->cat_name.'('.$cat->count.')';
}
return $cats;
}