WordPress
HTML
CSS
JavaScript
jQuery
SQL
PHP
WordPress Snippets

Code Snippet

The number of posts contained in each WordPress category (post count) can be displayed in the main menu when using categories as links.

PHP

Place the following code anywhere in your theme’s functions.php document.

				
					// add a post count after main menu category links
	function add_post_count_to_menu_item($title, $post_ID) {
		if( 'nav_menu_item' == get_post_type($post_ID) ) {
			if( 'taxonomy' == get_post_meta($post_ID, '_menu_item_type', true) && 'category' == get_post_meta($post_ID, '_menu_item_object', true) ) {
				$category = get_category( get_post_meta($post_ID, '_menu_item_object_id', true) );
				$title = $title . '&nbsp;' . '<span class="post_count">(' . $category->count . ')</span>';
			}
		}
		return $title;
	}
	add_filter('the_title', 'add_post_count_to_menu_item', 10, 2);
				
			

CSS

In the PHP, we now have the post count added at the end of each category link, and we have it wrapped in an HTML span with the class .post_count so that we can apply styles.

To make things look nicer, we can add a font-size and color to the font, that will make it differ slightly from the link text.

				
					.post_count { /* post count in main menu */
    font-size: 80%;
    color: #808080;
}
				
			

Example

WordPress Post Counts
WordPress Post Counts

We’d like to acknowledge that we learned a great deal of our coding from W3Schools and TutorialsPoint, borrowing heavily from their teaching process and excellent code examples. We highly recommend both sites to deepen your experience, and further your coding journey. We’re just hitting the basics here at 1SMARTchicken.

WordPress
HTML
CSS
JavaScript
jQuery
SQL
PHP

Why 1SMARTchicken?

This site was built and is maintained to benefit my autistic son.
See More →

My Son's Name is Johnny

He was diagnosed as autistic quite late, at age four...
His story

Buy Me a Coffee

Thanks for your support!

Feedback

If you see an error on the page or the code itself is incorrect or incomplete, or just plain wrong, please let us know. We’re always learning. NOTE: we do not sell your information and will not send you spam emails.