J'essaie de voir s'il est possible d'attacher un attribut à un élément de menu de navigation wp.
Pour démontrer, ce php:
<?php
wp_nav_menu(array(
'menu' => 'main',
'container' => false
));
?>
afficherait un menu comme suit:
<ul id="menu-main" class="menu">
<li id="menu-item-01" class="menu-item">Menu 01</li>
<li id="menu-item-02" class="menu-item">Menu 02</li>
<li id="menu-item-03" class="menu-item">Menu 03</li>
<li id="menu-item-04" class="menu-item">Menu 04</li>
</ul>
mais ce que je voudrais vraiment, c'est quelque chose comme ça:
<ul id="menu-main" class="menu">
<li id="menu-item-01" class="menu-item" data-hook="01">Menu 01</li>
<li id="menu-item-02" class="menu-item" data-hook="02">Menu 02</li>
<li id="menu-item-03" class="menu-item" data-hook="03">Menu 03</li>
<li id="menu-item-04" class="menu-item" data-hook="04">Menu 04</li>
</ul>
Est-ce que c'est possible? L'attribut ne doit pas obligatoirement être data-hook
. Je l'utilise seulement à titre d'exemple, mais simplement quelque chose que je peux utiliser comme identifiant.
Vous pouvez utiliser un Walker personnalisé pour ajouter des attributs aux éléments de menu.
Fondamentalement, vous ajoutez un paramètre 'walker' aux options wp_nav_menu () et appelez une instance d'une classe améliorée:
wp_nav_menu(
array (
'menu' => 'main-menu',
'container' => FALSE,
'container_id' => FALSE,
'menu_class' => '',
'menu_id' => FALSE,
'depth' => 1,
'walker' => new Description_Walker
)
);
La classe Description_Walker
étend Walker_Nav_Menu
et modifie la fonction start_el( &$output, $item, $depth, $args )
.
Du Codex:
http://codex.wordpress.org/Function_Reference/wp_nav_menu#Using_a_Custom_Walker_Function
J'ai trouvé ce tutoriel, vous le trouverez peut-être très utile:
http://www.kriesi.at/archives/improve-your-wordpress-navigation-menu-output