wp nav menu: adăugarea atributelor la elementele meniului
Încerc să aflu dacă este posibil să atașez un atribut la un element wp nav menu.
Pentru a demonstra, acest cod PHP:
<?php
wp_nav_menu(array(
'menu' => 'main',
'container' => false
));
?>
ar genera un meniu astfel:
<ul id="menu-main" class="menu">
<li id="menu-item-01" class="menu-item">Meniu 01</li>
<li id="menu-item-02" class="menu-item">Meniu 02</li>
<li id="menu-item-03" class="menu-item">Meniu 03</li>
<li id="menu-item-04" class="menu-item">Meniu 04</li>
</ul>
dar ceea ce mi-aș dori de fapt este ceva de genul:
<ul id="menu-main" class="menu">
<li id="menu-item-01" class="menu-item" data-hook="01">Meniu 01</li>
<li id="menu-item-02" class="menu-item" data-hook="02">Meniu 02</li>
<li id="menu-item-03" class="menu-item" data-hook="03">Meniu 03</li>
<li id="menu-item-04" class="menu-item" data-hook="04">Meniu 04</li>
</ul>
Este posibil să realizez acest lucru? Atributul nu trebuie să fie neapărat data-hook
, îl folosesc doar ca exemplu, doar ceva ce pot folosi ca identificator.
Puteți folosi un Walker personalizat pentru a adăuga atribute elementelor de meniu.
În esență, adăugați un parametru 'walker' la opțiunile wp_nav_menu() și apelați o instanță a unei clase îmbunătățite:
wp_nav_menu(
array (
'menu' => 'main-menu',
'container' => FALSE,
'container_id' => FALSE,
'menu_class' => '',
'menu_id' => FALSE,
'depth' => 1,
'walker' => new Description_Walker
)
);
Clasa Description_Walker
extinde Walker_Nav_Menu
și modifică funcția start_el( &$output, $item, $depth, $args )
.
Din Codex:
http://codex.wordpress.org/Function_Reference/wp_nav_menu#Using_a_Custom_Walker_FunctionAm găsit acest tutorial, s-ar putea să vi se pară foarte util:
http://www.kriesi.at/archives/improve-your-wordpress-navigation-menu-output
