Ваш вопрос не совсем понятен, поэтому вот два метода.
Во-первых, если пользователь просматривает страницу категории и вы хотите отобразить эту информацию, вы можете просто использовать следующее:
$myCount = $wp_query->found_posts;
Возвращает количество сообщений, найденных по последнему запросу.
Если вы хотите посчитать количество постов для каждой категории, скажем, как домашнюю страницу, я бы сделал это просто через PHP / MySQL. Вот пример:
SELECT COUNT( DISTINCT cat_posts.ID ) AS post_count
FROM wp_term_taxonomy AS cat_term_taxonomy
INNER JOIN wp_terms AS cat_terms ON cat_term_taxonomy.term_id = cat_terms.term_id
INNER JOIN wp_term_relationships AS cat_term_relationships ON cat_term_taxonomy.term_taxonomy_id = cat_term_relationships.term_taxonomy_id
INNER JOIN wp_posts AS cat_posts ON cat_term_relationships.object_id = cat_posts.ID
WHERE cat_posts.post_status = 'publish' AND cat_posts.post_type = 'post' AND cat_term_taxonomy.taxonomy = 'category' AND cat_terms.term_id = '13'
Я только что проверил это, и он работал правильно. Как только вы получите ответ от запроса, просто возьмите строку и сделайте следующее:
echo $row['post_count'];
или что угодно с данными. Все, что вам нужно сделать, чтобы изменить категории, - это просто изменить term_id последнего предложения WHERE
cat_terms.term_id = '13'
Измените 13 на кошку, которого вы хотите считать.
Если вместо этого вы хотите сделать это по названию категории, вы можете изменить последнюю часть с
cat_terms.term_id = '13'
до
cat_terms.slug IN ('cookies', 'uncategorized') or cat_terms.slug IN ('cookies')
Первая будет выбирать из нескольких категорий, вторая - только из одной.
Надеюсь, это поможет,