Categories provide an easy way to sort your WordPress content. However, there is so much more that you can do with categories to make your site more user and search engine friendly. In this article, we will show you some of the most wanted category hacks and plugins for WordPress.
1. Category RSS Feeds
Did you know that each category on your WordPress site has its own RSS feed? Just add feed at the end of your category URL like this:
https://www.wpbeginner.com/category/news/feed/
That’s all, you can add this link on category templates. Don’t worry we will show you how to create category templates later in this article.
Another great benefit of category feeds is that you can allow your users to subscribe to categories. This gives your users a chance to only subscribe topics that interest them.
2. Category list with RSS Feed Links
The default categories widget in WordPress does not allow you to display an RSS feed link next to category names. If you would like to display feed links next to category names, then add this code in your theme’s functions.php file or a site-specific WordPress plugin.
function wpb_categories_with_feed() { $args = array( 'orderby' => 'name', 'feed' => 'RSS', 'echo' => false, 'title_li' => '', ); $string .= '<ul>'; $string .= wp_list_categories($args); $string .= '</ul>'; return $string; } // add shortcode add_shortcode('categories-feed', 'wpb_categories_with_feed'); // Add filter to execute shortcodes in text widgets add_filter('widget_text', 'do_shortcode');
You need to add [categories-feed]
shortcode inside a text widget to list categories with feed links next to them.
3. Adding Category Icons in WordPress
Images make the web more interesting. You can use images to make your category pages stand-out. To associate images with your categories you need to install and activate the Taxonomy Images plugin. Upon activation you need to visit Settings » Taxonomy Images to enable images for categories.
To associate images with categories simply visit Post » Categories and click on the thumbnail icon to upload category images.
See our guide on how to add taxonomy images in WordPress for more details.
4. Enable Categories for Pages
By default categories are only available for posts in WordPress. However, you can associate them to any post type including pages. Simply install and activate Post Tags and Categories for Pages plugin. It works out of box and there are no settings for you to configure. Simply click on pages and you will see categories and tags under the pages menu. Take a look at our tutorial on how to add categories and tags for WordPress pages for more information.
5. Enable Sticky Posts for Category Archives
In WordPress you can make posts sticky to feature them on your home page. To add sticky posts for your category pages, simply install and activate Category Sticky Posts plugin. Upon activation, the plugin adds a category sticky metabox on the post edit screen. See our tutorial on how to add sticky posts for WordPress categories for detailed instructions.
6. Creating Category Templates in WordPress
WordPress comes with a powerful theme engine. By default it looks for templates with specific names in your theme to display certain pages. For example, the category.php
template in a theme is used to display all category pages.
Similarly, you can create templates for specific categories by naming the template with category name. For example, to create a template for movies category, you will name the template file category-movie.php
.
Use your theme’s category.php file as the starting point for your single category template and then make the changes you need. For more detailed instructions take a look at our tutorial on how to create category templates in WordPress.
7. Exclude Specific Categories from RSS Feed
By default all your posts appear in your site’s RSS feed. If you would like to hide certain categories from site’s main RSS feed, then simply install and activate the Ultimate Category Excluder plugin. Upon activation, simply visit Settings » Category Exclusion to select categories you want to hide from your RSS feeds.
8. Show Recent Posts from Specific Categories
The main use of categories is to help you sort your content and help your users find content easily. If a user finds a post in a specific category interesting, then they are likely to read similar posts in the same category. To display recent posts from a category use this code in your theme where you want recent posts from a category to appear.
$the_query = new WP_Query( 'category_name=news' ); if ( $the_query->have_posts() ) { echo '<ul>'; while ( $the_query->have_posts() ) { $the_query->the_post(); echo '<li>' . get_the_title() . '</li>'; } echo '</ul>'; } else { // no posts found } /* Restore original Post Data */ wp_reset_postdata();
Replace the value of category_name with the name of category you want to use.
9. Assign Author to Specific Categories
When managing a multi-author WordPress site you may want to assign authors to only post into specific categories assigned to them. Simply install and activate the Restrict Author Posting plugin. Upon activation, go to Users and edit the user you want to assign a category. On the user edit screen you will see a Restrict author post to a category section, where you can select the category assigned to that particular user.
10. Show Excerpts on Category Pages
We recommend our users to display excerpts on archive and category pages. Displaying excerpts only cuts down your page load time which is good for SEO. Apart from that it also protects you from duplicate content issue on your site. To replace full content with excerpts on category pages, simply add this code to your theme’s functions.php file or a site specific plugin.
function my_excerpts($content = false) { if(is_category()) : global $post; $content = $post->post_excerpt; // If the post has explicitly set excerpt use that if($content) : $content = apply_filters('the_excerpt', $content); // If no excerpt is set else : $content = $post->post_content; $excerpt_length = 55; $words = explode(' ', $content, $excerpt_length + 1); if(count($words) > $excerpt_length) : array_pop($words); array_push($words, '...'); $content = implode(' ', $words); endif; $content = '<p>' . $content . '</p>'; endif; endif; return $content; } add_filter('the_content', 'my_excerpts');
You can also replace content with excerpt by editing your theme’s category.php file and replacing the_content with the_excerpt. For more instructions see this tutorial on how to display post excerpts in WordPress themes.
We hope this article helped you learn some new category hacks and plugins for WordPress. For more best practice tips, see our guide on Categories vs. Tags (Best Practices).
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Google+.
Syed Balkhi says
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Philip Kelly says
Been searching.. can’t find a way to include “empty” categories in the WP block editor’s “Categories Block.” Private Posts in a particular category are not included in the category count. And if all the posts in that category are Private, the category count in wp_terms_taxonomy is zero. And if the count is zero, the category is not included in the category list.
WPBeginner Support says
We will look into possible options but, private posts are normally not posts you want to be shared with your entire audience. You may want to consider how you are using those posts for if they should be in your widget.
Admin
Gery says
I was hoping to find a way that will allow the text editor to suggest Categories when creating a link inside the text editor. Right now when you start typing you will get posts and pages suggestions only.
Victor Iweanya says
Thanks for this post. Is there a way that posts on a wordpress website can be automatically categorized based on certain keywords in the post.
For example a job listing board where jobs are classified based on academic qualification requirements. So lets say a Job requires a Msc degree, automatically the post goes into Msc jobs category like this website here
a humble observer says
you have a typo in number 8 that makes wordpress crash, the first line should have $the_query not just $query.
WPBeginner Support says
Thanks for notifying us. We have fixed it.
Admin
faisal says
You would have to modify the plugin you are using for that.
Veronica Scholtz says
I am running two category blogs on my page on separate pages – Blog 1 and Blog 2. I am using a widget plugin to show the archives for each specific category in a sidebar. When I list the archive for Category 2/Blog 2, it lists the archives of Blog 2 on the page of Blog 1. How can I change/fix this? I would sincerely appreciate your help.
Katinka Hesselink says
These days I’m using a category description on most of my categories. Which is great as it shows up on the category pages in the default WordPress themes. However, just now I find out that this description also shows up as alt-text in the default category widget. That’s a bit much. So I want the option to turn that OFF…
shubehndu bhatnager says
How to display category wise post thumblings on homepage
mcnater says
How about having the posts in the categories show up as image links instead of a simple blog? How do we do that? Thanks.
Samedi Amba says
Nice one here. And much appreciated. I was shocked to discover that one can actually add categories to pages. Makes me love wordpress everyday
thomas says
One more plugin for the road
WP Exclude From Homepage
Exclude categories, tags, posts or pages from your homepage (without breaking pagination)
https://wordpress.org/plugins/wp-exclude-from-homepage/
Wish Maker says
Very useful post. I just work with categories. Thank you!:)
fazreen says
great hacks.. especially to show the certain category
Danielle LaPorte says
hey hey…what about the semi-automation “similar” or “you might also enjoy” type of function for selecting previous posts to link to. it was there in an old version of WP and went away with upgrades. I miss it.
Great post. Thanks so much.
countzeero says
Great Stuff! I will be referring to this while redesigning my clutterlovers blog… thanks!
ngassmann says
How about when displaying in breadcrumbs a list of categories, excluding the parent category when listing children.
Editorial Staff says
You would have to modify the plugin you are using for that.
Admin