[Résolu] Modifier une fonction du fichier template-fonctions.php

  • WordPress :5.0.3
  • Statut : résolu
3 sujets de 1 à 3 (sur un total de 3)
  • Auteur
    Messages
  • #2246527
    julienSS
    Participant
    Initié WordPress
    4 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL : 5.0.3
    • Thème utilisé : twentynineteeen
    • Extensions en place : algolia, seo search
    • Nom de l’hébergeur :
    • Adresse du site :

    Problème(s) rencontré(s) :

    Bonjour, je souhaite modifier une fonction du fichier template-fonctions.php (ci-dessous).

    L’idée: je veux remplacer ‘twentynineteen_get_icon_svg( ‘arrow_drop_down_ellipsis’ )’ par ‘<p>menu</p>’

    Je réalise le site sur un thème enfant de twenty nineteen et j’ai bien copié et collé le dossier Inc et ses fichier à la racine du thème enfant.

    Si je modifie la ligne en question directement sur le thème parent, ça fonctionne. Si je modifie cette même ligne dans le fichier template-functions.php du thème enfant, ça ne fonctionne pas.

    La fonction que je souhaite modifier:

    function twentynineteen_add_ellipses_to_nav( $nav_menu, $args ) {
    
    	if ( 'menu-1' === $args->theme_location ) :
    
    		$nav_menu .= '<div class="main-menu-more">';
    		$nav_menu .= '<ul class="main-menu">';
    		$nav_menu .= '<li class="menu-item menu-item-has-children">';
    		$nav_menu .= '<button class="submenu-expand main-menu-more-toggle is-empty" tabindex="-1" aria-label="More" aria-haspopup="true" aria-expanded="false">';
    		$nav_menu .= '<span class="screen-reader-text">' . esc_html__( 'More', 'twentynineteen' ) . '</span>';
    		$nav_menu .= twentynineteen_get_icon_svg( 'arrow_drop_down_ellipsis' );
    		$nav_menu .= '</button>';
    		$nav_menu .= '<ul class="sub-menu hidden-links">';
    		$nav_menu .= '<li id="menu-item--1" class="mobile-parent-nav-menu-item menu-item--1">';
    		$nav_menu .= '<button class="menu-item-link-return">';
    		$nav_menu .= twentynineteen_get_icon_svg( 'chevron_left' );
    		$nav_menu .= esc_html__( 'Back', 'twentynineteen' );
    		$nav_menu .= '</button>';
    		$nav_menu .= '</li>';
    		$nav_menu .= '</ul>';
    		$nav_menu .= '</li>';
    		$nav_menu .= '</ul>';
    		$nav_menu .= '</div>';
    
    	endif;
    
    	return $nav_menu;
    }
    add_filter( 'wp_nav_menu', 'twentynineteen_add_ellipses_to_nav', 10, 2 );
    function twenty nineteen_add_ellipses_to_nav

    Merci pour votre aide!

    #2246541
    Li-An
    Modérateur
    Maître WordPress
    21384 contributions

    Bonjour, je vous réponds mais ce n’est pas très optimiste : j’ai rencontré le même problème sur certains thèmes (ça marche sur le thème parent mais pas le enfant pour des fonctions déportées) et toutes mes recherches n’ont rien donné sur le sujet.

    #2246544
    julienSS
    Participant
    Initié WordPress
    4 contributions

    Je viens de trouver à l’instant et je vous propose donc cette solution qui fonctionne chez moi:

     

    Ce bout de cote est à copier et coller dans le fichier functions.php

     

    <?php
    add_action('after_setup_theme','remove_fonction_parent');
    function remove_fonction_parent() {
       remove_action('wp_nav_menu','twentynineteen_add_ellipses_to_nav');
       add_action('wp_nav_menu','twentynineteen_add_ellipses_to_nav_test');
    }
    
    function twentynineteen_add_ellipses_to_nav_test($nav_menu) {
    
    		$nav_menu .= '<div class="main-menu-more">';
    		$nav_menu .= '<ul class="main-menu">';
    		$nav_menu .= '<li class="menu-item menu-item-has-children">';
    		$nav_menu .= '<button class="submenu-expand main-menu-more-toggle is-empty" tabindex="-1" aria-label="More" aria-haspopup="true" aria-expanded="false">';
    		$nav_menu .= '<span class="screen-reader-text">' . esc_html__( 'More', 'twentynineteen' ) . '</span>';
    		$nav_menu .= '<p class="menu_responsive">MENU</p>';
    		$nav_menu .= '</button>';
    		$nav_menu .= '<ul class="sub-menu hidden-links">';
    		$nav_menu .= '<li id="menu-item--1" class="mobile-parent-nav-menu-item menu-item--1">';
    		$nav_menu .= '<button class="menu-item-link-return">';
    		$nav_menu .= twentynineteen_get_icon_svg( 'chevron_left' );
    		$nav_menu .= esc_html__( 'Back', 'twentynineteen' );
    		$nav_menu .= '</button>';
    		$nav_menu .= '</li>';
    		$nav_menu .= '</ul>';
    		$nav_menu .= '</li>';
    		$nav_menu .= '</ul>';
    		$nav_menu .= '</div>';
    
    	return $nav_menu;
    }
    ?>
    Solution modifie fonction template-fonctions.php

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