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 …
This plugin allows you to dynamically return the number of posts in a particular category, tag, or custom taxonomy. Inserting [cat_count value="category-slug"]
in a post or page, or <?php do_shortcode('cat_count slug="category-slug" '); ?>
anywhere in WordPress’ code will return the number of posts in that particular category.
Useful for creating dynamic table of contents pages, keeping track of post stats, general bragging, or any place where keeping a running tally might be desirable.
Donations are graciously accepted to support the continued development and maintenance of this and other plugins. We currently accept Paypal and kind words.
post-count-per-category
directory./wp-content/plugins/
directory.[cat_count slug="category-slug"]
to count a category, [tag_count slug="tag-slug"]
to count a tag, or [tax_count tax=”taxonomy-name” slug=”taxonomy-slug”] to count a custom taxonomy. (Replacing the slugs in quotes with an acutal slug name) to return the number of posts in that category, tag or custom taxonomy.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.
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.
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"]
.
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 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!