web-dev-qa-db-fra.com

niveau de la hiérarchie des catégories en tant que classe de corps - chat parent = 1, chat enfant = 2, petit-enfant = 3

Je trouve cela presque impossible de trouver des informations sur. Je cherche un moyen d'attribuer un numéro à chaque niveau de catégorie, puis de l'ajouter à la classe body. par exemple. l'archive de catégorie parent affichera la classe .catlevel-1, alors que l'archive de catégorie enfant affichera la classe .catlevel-2 ... et ainsi de suite.

1
Pete

Vous pouvez y parvenir en utilisant le code personnalisé suivant. Vous pouvez utiliser le code en l'ajoutant dans le fichier functions.php du thème enfant ou dans le fichier de plug-in personnalisé.

add_filter( 'body_class', 'custom_cat_archiev_class' );
function custom_cat_archiev_class( $classes ) {
    if ( is_category() ) {
        $cat = get_queried_object();
        $ancestors = get_ancestors( $cat->term_id, 'category', 'taxonomy' );
        $classes[] = 'catlevel-' . ( count( $ancestors ) + 1 );
    }
    return $classes;
}
3
Vinod Dalvi