web-dev-qa-db-fra.com

un modèle de catégorie pour plusieurs catégories

j'ai category-events.php pour lister mes messages étiquetés 'events' mais cela ne fonctionnera pas pour les catégories enfants 'events'.

c'est-à-dire que j'ai quelques articles étiquetés 'événements' et un événement 'exposition' d'enfants. Je pensais qu'il utiliserait category-events.php automatiquement mais ce n'est pas le cas. Est-ce possible car je souhaite utiliser category-events.php pour plusieurs catégories d'enfants 'events'.

j'espère que cela a du sens et tous les indicateurs sont les bienvenus.

dan.

1
v3nt
0
v3nt

D'abord, collez ce code dans le functions.php de votre thème

function post_is_in_descendant_category( $cats, $_post = null ){
    foreach ( (array) $cats as $cat ) {
        // get_term_children() accepts integer ID only
        $descendants = get_term_children( (int) $cat, 'category');
        if ( $descendants && in_category( $descendants, $_post ) )
            return true;
    }
    return false;
}

puis sur votre category.php ou archive.php (dépend de votre thème) tout en haut ajoutez

<?php if (post_is_in_descendant_category(33)){
 include (TEMPLATEPATH . '/category-events.php'); 
 exit;
} ?>

et remplacez 33 par l'ID de la catégorie "événements".

Cela permet de vérifier si la catégorie actuelle est une catégorie d'événements et si elle utilise le bon fichier de thème.

1
Bainternet