There’s a great post on how to get WordPress to use your own template and override the default template.
The basic code looks like this;
function my_template() {
if (is_category() && get_query_var(‘cat’) == get_cat_id(‘fun’)) {
include (TEMPLATEPATH . ‘/category-fun.php’);
exit;
}
}
add_action(‘template_redirect’, ‘my_template’);
Be sure to use STYLESHEETPATH instead of his TEMPLATEPATH so that child themes respond to the code properly.
http://www.mihaivalentin.com/wordpress-tutorial-load-the-template-you-want-with-template_redirect/