我想知道是否有办法通过wp_nav_menu为每个li的输出添加一个自动顺序id - 所以它们基本上是
<ul>
<li><a href="#tab1" class="tabclick active">Overview</a></li>
<li><a href="#tab2" class="tabclick">Specs</a></li>
<li><a href="#tab3" class="tabclick">More Info</a></li>
</ul>
我想我已经读过有关使用助行器的内容 - 但它超越了我。
答案 0 :(得分:2)
好的 - 找到一个解决方案基本上是自己构建菜单 - 主要是从http://codex.wordpress.org/Function_Reference/wp_get_nav_menu_items使用wp_get_nav_menu_items
这只是链接到顺序哈希锚点 - 但是上面的页面显示了如何链接到URL
我注释了计数
的位 <?php
// Get the nav menu based on $menu_name (same as 'theme_location' or 'menu' arg to wp_nav_menu)
// This code based on wp_nav_menu's code to get Menu ID from menu slug
$menu_name = 'yourmenuslug';
if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $menu_name ] ) ) {
$menu = wp_get_nav_menu_object( $locations[ $menu_name ] );
$menu_items = wp_get_nav_menu_items($menu->term_id);
$menu_list = '<ul id="menu-' . $menu_name . '">';
// this bit adds the counter
$menu_counter = 0;
global $menu_counter;
foreach ( (array) $menu_items as $key => $menu_item ) {
$menu_counter++;
$title = $menu_item->title;
$url = $menu_item->url;
// this bit builds the item with the sequential numbering
if ($menu_counter < 2) {
$menu_list .= '<li><a href="#tab' . $menu_counter .'" class="tabclick active" >' . $title . '</a></li>';
} else {
$menu_list .= '<li><a href="#tab' . $menu_counter .'" class="tabclick" >' . $title . '</a></li>';
}
}
$menu_list .= '</ul>';
} else {
$menu_list = '<ul><li>Menu "' . $menu_name . '" not defined.</li></ul>';
}
// $menu_list now ready to output
echo $menu_list;
?>