静态html代码如下
<div class="color1 navbox">
<ul>
<li><a href="">item1</a></li>
<li><a href="">item2</a></li>
<li><a href="">item3</a></li>
<li><a href="">item4</a></li>
<li><a href="">item5</a></li>
<li><a href="">item6</a></li>
</ul>
</div>
<div class="color2 navbox">
<ul>
<li><a href="">item1</a></li>
<li><a href="">item2</a></li>
<li><a href="">item3</a></li>
<li><a href="">item4</a></li>
<li><a href="">item5</a></li>
<li><a href="">item6</a></li>
</ul>
</div>
我想使用wp_nav_menu()获取通过管理面板设置的菜单项,每个div容器包含6个项目。 我不熟悉wp,所以需要你指出如何循环。 谢谢。
// 我找到了一条路并且运行良好。
$menus = wp_get_nav_menus();
$menu_items = wp_get_nav_menu_items($menus[0]);
$i = 1;
$total = count($menu_items);
$menuBox = ceil($total/6);
foreach ($menu_items as $key=>$menu_item):
if ($key%6==0) {
echo '<div class="color'.$i.' grid_6 navbox"><ul>';
$i++;
}
echo "<li> <a href='$menu_item->url'>$menu_item->title</a></li>";
if ($key== $total-1) {
echo '</ul></div>';
}else{
for ($j=0; $j < $menuBox; $j++) {
if ($key == $j*6-1) {
echo '</ul></div>';
}
}
}
endforeach;
答案 0 :(得分:0)
我想我理解你的问题。最好的方法是声明自定义导航位置,然后在需要的位置调用它们(如果您决定在页面上的多个位置使用相同的导航,则可以避免重复ID。)
这将放在你的函数文件中(根据需要更改名称):
function nav_menu_locations() {
// Register nav menu locations
register_nav_menus( array(
'header' => 'Header Menu',
'sidebar' => 'Sidebar Menu',
'footer' => 'Footer Menu'
)
);
}
add_action( 'after_setup_theme', 'nav_menu_locations' );
然后调用其中一个,在相应的模板中使用它:
<?php wp_nav_menu(array('theme_location' => 'header')); ?>