WordPress : Définissez-en un pour tous les sous-ensembles de la catégorie
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;
}
0 commentaire