wordpress指定的导航菜单容器类不同
静态html代码如下wordpress指定的导航菜单容器类不同,wordpress,Wordpress,静态html代码如下 <div class="color1 navbox"> <ul> <li><a href="">item1</a></li> <li><a href="">item2</a></li> <li><a href="">item3</a></li> <
<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;
我想我理解你的问题。最好的方法是声明自定义导航位置,然后在需要的地方调用它们。如果您决定在页面上的多个位置使用同一导航,则可以避免重复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')); ?>