我想知道是否有可能将属性附加到wp nav菜单项
要演示此php:
<?php
wp_nav_menu(array(
\'menu\' => \'main\',
\'container\' => false
));
?>
将输出如下菜单:
<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>
但我真正想要的是这样的:
<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>
这有可能实现吗?属性不必是
data-hook
我只是用它作为一个例子,我可以用它作为一个标识符。
最合适的回答,由SO网友:Mike Madern 整理而成
可以使用自定义Walker向菜单项添加属性。
基本上,将参数“walker”添加到wp\\u nav\\u menu()选项中,并调用增强类的实例:
wp_nav_menu(
array (
\'menu\' => \'main-menu\',
\'container\' => FALSE,
\'container_id\' => FALSE,
\'menu_class\' => \'\',
\'menu_id\' => FALSE,
\'depth\' => 1,
\'walker\' => new Description_Walker
)
);
班级
Description_Walker
扩展
Walker_Nav_Menu
并更改功能
start_el( &$output, $item, $depth, $args )
.
抄本:
http://codex.wordpress.org/Function_Reference/wp_nav_menu#Using_a_Custom_Walker_Function
我找到了这个教程,你可能会发现它非常有用:
http://www.kriesi.at/archives/improve-your-wordpress-navigation-menu-output