Beginner's Guide for WordPress / Start your WordPress Blog in minutes

10 Most Wanted Category Hacks and Plugins for WordPress

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.

Enabling images for categories in WordPress

To associate images with categories simply visit Post » Categories and click on the thumbnail icon to upload category images.

Adding category icons

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.

Categories for pages in WordPress

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.

Category sticky metabox on post edit screen in WordPress

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.

Exclude specific categories from RSS feed in WordPress

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.

Restrict author to a category

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+.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

19 CommentsLeave a Reply

  1. 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.

    • 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

  2. 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. :)

  3. 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

  4. you have a typo in number 8 that makes wordpress crash, the first line should have $the_query not just $query.

  5. 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.

  6. 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…

  7. Nice one here. And much appreciated. I was shocked to discover that one can actually add categories to pages. Makes me love wordpress everyday :-)

  8. 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.

Leave a Reply to Katinka Hesselink Cancel reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.