Il suffit de nommer votre template catégorie-X.php, où X est le nom de la catégorie spécifique ou l'ID pour lequel vous voulez un modèle personnalisé, et placez-le dans un dossier/unique dans votre répertoire de thème principal. Maintenant, à chaque fois qu'un seul post est appelé et qu'il correspond à un modèle existant dans ce dossier, il l'utilise pour afficher le message à la place du fichier single.php. Si aucune correspondance n'est trouvée, alors single.php est utilisé.
dans functions.php:
define(SINGLE_PATH, TEMPLATEPATH . '/single');
add_filter('single_template', 'force_cat2single_template');
function force_cat2single_template($single) {
global $wp_query, $post;
foreach((array)get_the_category() as $cat) :
if(file_exists(SINGLE_PATH . '/single-cat-' . $cat->slug . '.php'))
return SINGLE_PATH . '/single-cat-' . $cat->slug . '.php';
elseif(file_exists(SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php'))
return SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php';
endforeach;
if(file_exists(SINGLE_PATH . '/single.php'))
return SINGLE_PATH . '/single.php';
elseif(file_exists(SINGLE_PATH . '/default.php'))
return SINGLE_PATH . '/default.php';
return $single;
}