This is probably the single most valuable plugin to date (exaggeration?). It basically checks to see if a post in a certain category, and then assigns that post a separate custom template. Genius. And it doesn’t stop there. It also, allows you to assign a custom template to any post ID which means you can make one specific page look completely different than all of the others. Extremely powerful plugin. I found this over at wpelements.com in an old feed article. The plugin was created by Ryan Boren way back in 2005 and it is still very much effective today.
Here’s the code. Enjoy.
<?php
/*
Plugin Name: Custom Post Templates
Plugin URI: http://boren.nu/
Description: Load custom single post templates.
Author: Ryan Boren
Version: 0.9
Author URI: http://boren.nu/
*/
function cpt_custom_post_template($template) {
global $wp_query;
$post = $wp_query->post;
$id = $post->ID;
// If a template exists for this post ID, load it.
if ( file_exists(TEMPLATEPATH . "/single-{$id}.php") )
return TEMPLATEPATH . "/single-{$id}.php";
// Add custom checks here. For example, give posts different templates
// depending on what categories they are in.
if ( in_category('1') && file_exists(TEMPLATEPATH . '/single-cat-1.php') )
return TEMPLATEPATH . '/single-cat-1.php';
return $template;
}
add_filter('single_template', 'cpt_custom_post_template');
?>