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 . ' ' . '(' . $category->count . ')';
}
}
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
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.
Why 1SMARTchicken?
See More →
Thanks for your support!
WordPress Books
All are affiliate links. Thank you for your support!
WORDPRESS NOTES:
- All modifications to a theme or plugin should be made by creating a child theme and placing the changes there; changes made to the parent theme will be overwritten the next time it updates
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.