WordPress : Définissez-en un pour tous les sous-ensembles de la catégorie

Publié par Jean-Michel le

Je sais que je peux définir un modèle de thème pour n’importe quelle catégorie, qui définit le nom du fichier php comme ceci :category-16.php

Mais il existe de nombreux sous-ensembles pour ma catégorie16. Je veux que ce modèle soit défini pour tout le sous-ensemble de la catégorie16.

Comment?

Solution n°1 trouvée

Il y a deux fonctions dont vous avez besoin pour accomplir cela. Tout d’abord, vous devrez savoir si une catégorie est une sous-catégorie de 16. C’est cat_is_ancestor_of. Deuxièmement, vous devrez forcer cette catégorie à utiliser le modèle de 16, ce que vous faites avec locate_template. Sachant cela, vous pouvez créer un filtre sur la fonction qui détermine quel modèle utiliser pour une page de catégorie comme celle-ci :

add_filter ('category_template', 'wpse24089_category_template');

function wpse24089_category_template( $template ) {
    $current_cat = get_queried_object_id();
    if (cat_is_ancestor_of (16, $current_cat))
        $template = locate_template( 'category-slider.php' );
    return $template;
    }

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *