Quelques articles expliquent comment faire en sorte que les sous-catégories utilisent le même modèle que leurs parents, mais je souhaite faire quelque chose de légèrement différent.
J'ai une catégorie 67 et je veux que toutes les sous-catégories de 67 utilisent un modèle spécifique. Pas le modèle par défaut, ni le modèle personnalisé category-67.php.
Comment je fais ça?
J'ai le code suivant dans functions.php, mais il semble également changer le modèle de la catégorie-67
// use specific template depending on category
function myTemplateSelect() {
if (is_category() && !is_feed()) {
if (is_category(get_cat_id('67')) || cat_is_ancestor_of(get_cat_id('67'), get_query_var('cat'))) {
load_template(TEMPLATEPATH . '/category-slider.php');
exit;
}
}
}
add_action('template_redirect', 'myTemplateSelect');
Finalement, je souhaiterai ajouter quelques catégories supplémentaires à cela également.
Des idées?
Merci
Je recommanderais d'utiliser le filtre category_template
- il suffit de vérifier si la catégorie actuelle est un ancêtre de 67
:
function wpse_179617_category_template( $template ) {
if ( cat_is_ancestor_of( 67, get_queried_object_id() /* The current category ID */ ) )
$template = locate_template( 'category-slider.php' );
return $template;
}
add_filter( 'category_template', 'wpse_179617_category_template' );