Lien actif du menu (classe current-page-item)

  • Statut : non résolu
5 sujets de 1 à 5 (sur un total de 5)
  • Auteur
    Messages
  • #528530
    mparnet
    Membre
    Initié WordPress
    6 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 3.5.2
    – Version de PHP/MySQL :
    – Thème utilisé : Responsive
    – Extensions en place : Aucune concernant le menu
    – Nom de l’hebergeur : local
    – Adresse du site : localhost

    Problème(s) rencontré(s) : J’ai un site type institutionnel très simple avec un menu composé de pages basiques, j’ai seulement deux rubriques de ce menu qui comprennent un sous-niveau composé de 3 articles chacune.

    Suivant la logique de wordpress j’ai donc crée des pages et deux catégories comprenant chacunes 3 articles.

    Le menu fonctionne bien avec un mix entre pages et catégories (merci a WP3) mais mon problème est que le lien actif (qui permet de savoir dans quelle rubrique on se trouve) disparaît lorsque je rentre dans un des articles bien qu’il soit lié à une catégorie du menu.

    Je pensais naïvement que le système était fait de telle sorte que lorsqu’on entre dans un article d’une catégorie, celle ci reste active dans le menu principal or ça n’est pas le cas…

    Y’a-t-il une solution simple ? Je ne suis pas un pro du code et ne souhaite pas faire de gros chamboulements dans ce domaine…

    Je vous poste le code du fichier concerné header.php. Je n’utilise qu’un seul menu qui est header-menu contenu dans main-nav et généré via l’admin wordpress (apparences > menus)

    <?php
    
    // Exit if accessed directly
    if ( !defined('ABSPATH')) exit;
    
    /**
     * Header Template
     *
     *
     * @file           header.php
     * @package        Responsive 
     * @author         Emil Uzelac 
     * @copyright      2003 - 2013 ThemeID
     * @license        license.txt
     * @version        Release: 1.3
     * @filesource     wp-content/themes/responsive/header.php
     * @link           http://codex.wordpress.org/Theme_Development#Document_Head_.28header.php.29
     * @since          available since Release 1.0
     */
    ?>
    <!doctype html>
    <!--[if !IE]>      <html class="no-js non-ie" <?php language_attributes(); ?>> <![endif]-->
    <!--[if IE 7 ]>    <html class="no-js ie7" <?php language_attributes(); ?>> <![endif]-->
    <!--[if IE 8 ]>    <html class="no-js ie8" <?php language_attributes(); ?>> <![endif]-->
    <!--[if IE 9 ]>    <html class="no-js ie9" <?php language_attributes(); ?>> <![endif]-->
    <!--[if gt IE 9]><!--> <html class="no-js" <?php language_attributes(); ?>> <!--<![endif]-->
    <head>
    
    <meta charset="<?php bloginfo('charset'); ?>” />
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0">
    
    <title><?php wp_title('|', true, 'right'); ?></title>
    
    <link rel="profile" href="http://gmpg.org/xfn/11" />
    <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>” />
    
    <?php wp_enqueue_style('responsive-style', get_stylesheet_uri(), false, '1.9.3.2');?>
    
    <?php wp_head(); ?>
    </head>
    
    <body <?php body_class(); ?>>
                     
    <?php responsive_container(); // before container hook ?>
    <div id="container" class="hfeed">
             
        <?php responsive_header(); // before header hook ?>
        <div id="header">
    
    		<?php responsive_header_top(); // before header content hook ?>
        
            <?php if (has_nav_menu('top-menu', 'responsive')) { ?>
    	        <?php wp_nav_menu(array(
    				    'container'       => ”,
    					‘fallback_cb’	  =>  false,
    					‘menu_class’      => ‘top-menu’,
    					‘theme_location’  => ‘top-menu’)
    					); 
    				?>
            <?php } ?>
            
        <?php responsive_in_header(); // header hook ?>
       
    	<?php if ( get_header_image() != '' ) : ?>
                   
            <div id="logo">
                <a href="<?php echo home_url('/'); ?>“><img src="<?php header_image(); ?>” width=”<?php if(function_exists('get_custom_header')) { echo get_custom_header() -> width;} else { echo HEADER_IMAGE_WIDTH;} ?>” height=”<?php if(function_exists('get_custom_header')) { echo get_custom_header() -> height;} else { echo HEADER_IMAGE_HEIGHT;} ?>” alt=”<?php bloginfo('name'); ?>” /></a>
            </div><!-- end of #logo -->
            
        <?php endif; // header image was removed ?>
    
        <?php if ( !get_header_image() ) : ?>
                    
            <div id="logo">
                <span class="site-name"><a href="<?php echo home_url('/'); ?>” title=”<?php echo esc_attr(get_bloginfo('name', 'display')); ?>” rel=”home”><?php bloginfo('name'); ?></a></span>
                <span class="site-description"><?php bloginfo('description'); ?></span>
            </div><!-- end of #logo -->  
    
        <?php endif; // header image was removed (again) ?>
        
        <?php get_sidebar('top'); ?>
    				<?php wp_nav_menu(array(
    				    'container'       => ‘div’,
    						‘container_class’	=> ‘main-nav’,
    						‘fallback_cb’	  =>  ‘responsive_fallback_menu’,
    						‘theme_location’  => ‘header-menu’)
    					); 
    				?>
                    
                <?php if (has_nav_menu('sub-header-menu', 'responsive')) { ?>
    	            <?php wp_nav_menu(array(
    				    'container'       => ”,
    					‘menu_class’      => ‘sub-header-menu’,
    					‘theme_location’  => ‘sub-header-menu’)
    					); 
    				?>
                <?php } ?>
    
    			<?php responsive_header_bottom(); // after header content hook ?>
     
        </div><!-- end of #header -->
        <?php responsive_header_end(); // after header container hook ?>
        
    	<?php responsive_wrapper(); // before wrapper container hook ?>
        <div id="wrapper" class="clearfix">
    		<?php responsive_wrapper_top(); // before wrapper content hook ?>
    		<?php responsive_in_wrapper(); // wrapper hook ?>

    Merci pour votre aide 🙂

    #913610
    Li-An
    Modérateur
    Maître WordPress
    22680 contributions

    Il faut utiliser la classe CSS .current-post-ancestor { }

    #913611
    mparnet
    Membre
    Initié WordPress
    6 contributions

    Merci Li-An ! problème résolu ! ✅

    #913612
    Fabilo
    Participant
    Initié WordPress
    13 contributions

    Bonjour
    j’ai le même problème, à savoir que je voudrais surligner la catégorie dans le menu quand je suis sur un article mais après plusieurs essais et recherches je n’arrive p

    #913613
    Fabilo
    Participant
    Initié WordPress
    13 contributions

    Bonjour
    j’ai le même problème, à savoir que je voudrais surligner la catégorie dans le menu quand je suis sur un article mais après plusieurs essais et recherches je n’arrive pas à faire fonctionner .current-post-ancestor { }
    je l’ai ajouté dans le css mais cela ne change rien
    voici la page sur laquelle j’aimerais que la categorie soit surlignée dans le menu inférieur
    http://www.bertrandclaverie.com/chemins-de-l-inconscient/swing/
    merci d’avance

5 sujets de 1 à 5 (sur un total de 5)
  • Vous devez être connecté pour répondre à ce sujet.