Je sais que je peux définir un modèle de thème pour n'importe quelle catégorie, ce qui définit le nom du fichier php comme suit: category-16.php
Mais il y a beaucoup de sous-ensembles pour ma catégorie16. Je veux cet ensemble de modèles pour tout le sous-ensemble de category16.
Comment?
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-activité de 16. C’est cat_is_ancestor_of
. Deuxièmement, vous devrez forcer cette catégorie à utiliser le modèle de 16, que vous utilisez avec locate_template
. Sachant cela, vous pouvez créer un filtre sur la fonction qui détermine le 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;
}