Plugin Directory

Test out the new Plugin Directory and let us know what you think.
!This plugin hasn’t been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Count Posts in a Category, Tag, or Custom Taxonomy

Adds a custom shortcode that returns the number of posts in a category, tag, or custom taxonomy. Accepts a slug (default), ID, or name as input and wo

How do I add it into my posts?

You must insert the shortcode in location where you want to count to appear: (always replacing category-slug with an acutal slug name)

For categories: * [cat_count slug="category-slug"]

or for a tag: * [tag_count slug="tag-slug"]

or for a custom taxonomy: * [tax_count tax="taxonomy-name" slug="taxonomy-slug"]

The legacy shortcode assumes you are giving it slugs, but it can also accept category names or IDs:

  • [ccp type="name" cat="Category Name"]
  • [ccp type="id" cat="27"]

or for a tag: * [ccp type="name" tag="Tag Name"] * [ccp type="id" tag="28"]

With the new shortcodes, you can specify slug="", id="", or name="" directly. If more than one is given, posts are selected in that order.

Can I add the count multiple terms?

  • As of version 3.1... Yes! You can specify more than 1 ID or slug by separating the values with commas. You have to use either ID or slug, not a combination of both. Also, you cannot use the name attribute (since a name may ostensibly contain commas naturally, unlike a slug or ID).

  • So, for example, if you had 3 categories with the slugs "cat-1", "cat-2", and "cat-3" each with 10 posts, you could get the count for all three (it would return "30") using this shortcode:

[cat_count slug="cat-1,cat-2,cat-3"]
  • Thanks to Jack Brand for this excellent suggestion.

It keeps returning 0 posts, why?

Make sure you're using the correct slug, sometimes they are different from the actual category name and capitalization matters. You can view them by clicking on the Categories link under Posts.

Also don't literally copy "category-slug," you need to put the category you want counted there, that's just a place holder. So to count the number of posts in a category called 'Book Reviews' with a slug name of 'book-reviews' you would insert [cat_count slug="book-reviews"].

Why are there 2 kinds of shortcodes

The shortcodes without underscores are legacy shortcodes, I left them in the plugin so stuff won't break, but you should use the new shortcodes if possible. The legacy shortcodes include: [ccp] [catcountposts] [countposts] [countpost] [postsincat] [postincat]

The legacy shortcodes only work for categories and tags, and they all follow the format [ccp type="slug/id/name" cat="category-slug/id/name" tag="tag-slug/id/name"]

The NEW shortcodes all have underscores, and follow a slightly different format. There are 3 seperate shortcodes: For Categories: * [cat_count slug="cat-slug"] or [cat_count id="45"] or [cat_count name="Category Name"]

For Tags: * [tag_count {slug="tag-slug"} {id="45"} {name="tag name"} ]

For Custom Taxonomies: * [tax_count tax="custom-tax-type" {slug="tax-slug"} {id="99"} {name="Taxonomy Item Name"} ]

You only need to specify 1 of the following: slug="", id="", or name="". If you specify more than one, the plugin will ignore the other attributes in the order of slug > id > name.

You also need to specify the tax="custom-tax-type" for the [tax_count] shortcode. This is so the plugin knows which custom taxonomy to count.

Can you add this feature I just thought of?

Can I? Yes. Will I? Yes, if I think it would be a helpful addition. I'm trying to keep things clean and simple, but there's always room for improvement, so let me know if you think a feature is lacking!

Requires: 2.8 or higher
Compatible up to: 3.5.2
Last Updated: 4 years ago
Active Installs: 600+


5 out of 5 stars


0 of 1 support threads in the last two months have been marked resolved.

Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,1,1 100,1,1
100,2,2 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1