Voulez-vous ajouter une classe d’ancêtre aux articles uniques ? Lorsque vous ouvrez la page d’un article unique (i.e. single.php), vous n’avez pas de classes current_page_item
ou current-page-ancestor
dans votre menu wp_nav_menu
. Vous ne pouvez pas non plus indiquer à vos utilisateurs dans quelle section ils se trouvent actuellement.
Instructions :
Tout ce que vous avez à faire est d’ajouter ce code dans le fichier functions.php de votre thème ou dans un plugin spécifique à votre site:
<?php function add_single_post_ancestor_nav_class($classes, $item){ global $post; $is_ancestor = false; if ( is_single() ) { if ( $post->post_type != 'post' ) { // Checks if the custom-post-type label name matches the title of the nav-page-item $post_type_obj = get_post_type_object($post->post_type); $post_type_labels = $post_type_obj->labels; $post_type_name = $post_type_labels->name; if( $item->title == $post_type_name ) { $is_ancestor = true; } } else { // Checks if one of the single-post categories matches the title of the nav-page-item $categories = get_categories(); foreach ( $categories as $category ) { if ( in_category($category->name) && $item->title == $category->name ) { $is_ancestor = true; } } } if( $is_ancestor ){ $classes[] = 'current-page-ancestor'; } } return $classes; } add_filter('nav_menu_css_class' , 'add_single_post_ancestor_nav_class' , 10 , 2); ?>
Si le nom générique dans les étiquettes ne correspond pas au titre de la page, la classe ne sera pas ajoutée.
Note : Si c’est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez vous référer à notre guide sur la manière de copier/coller correctement des extraits de code dans WordPress, afin de ne pas casser accidentellement votre site.
Si vous avez aimé cet extrait de code, n’hésitez pas à consulter nos autres articles sur le site comme : 7 meilleurs services VPN pour les utilisateurs de WordPress et 12 meilleurs plugins WordPress pour podcasts.
Can you put the code on this page? I can’t see it…
Updated!