I’m pretty sure you could also do what you want by filtering template_include
. This is super-untested, but maybe this can get you headed in the right direction:
function wpse53871( $template ) {
global $post;
// check if is a Post and in the 'scott' category
if( is_single( $post->ID ) && has_category( 'scott', $post ) ) {
return get_template_part( 'page' );
} else {
return $template;
}
}
add_filter( 'locate_template', 'wpse52871' );
Here’s another example of the filter in use.
Additional
You can also add a filter to single_template
add_filter( 'single_template', 'wpse53871' );