Are you looking for a way to display different single template based on category? While there’s probably a plugin for this, we have created a quick code snippet that you can use to display different single template based on category in WordPress.
Instructions:
All you have to do is remove everything from your theme’s single.php file and add this code:
<?php $post = $wp_query->post; if ( in_category('features') ) { include(TEMPLATEPATH . '/single-features.php'); } else { include(TEMPLATEPATH . '/single-post.php'); } ?>
Note: If this is your first time adding code snippets in WordPress, then please refer to our guide on how to properly add code snippets in WordPress, so you don’t accidentally break your site.
If you liked this code snippet, please consider checking out our other articles on the site like: 28 best WordPress resume themes and how to create a multi-page form in WordPress.
How can we achieve the same using full site editing?
Hey Yash,
Thank you for the question. For Full Site Editing (FSE) you won’t modify the
single.php
file manually. Instead, you can use template parts and conditional template creation. The easist approaches is to use block-based themes and template files in theblock-templates
directory.A simple step by step process would be:
1. Go to the Site Editor (Appearance → Editor).
2. Click on Templates in the left sidebar.
3. Click the Add New Template button.
4. Name the template based on the category. For example, if your category slug is features, name the template Single Post: Features.
5. Design the template using blocks to suit the category.
6. Save the template.
Please try this and let me know if it works for you.
Thank you.
Thanks
Dude thanks so much for this quick/simple solution!