Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
wordpress指定的导航菜单容器类不同_Wordpress - Fatal编程技术网

wordpress指定的导航菜单容器类不同

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> <

静态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;

我想我理解你的问题。最好的方法是声明自定义导航位置,然后在需要的地方调用它们。如果您决定在页面上的多个位置使用同一导航,则可以避免重复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')); ?>