2017-01-11 52 views
0
   <nav> 
       <ul class="menu sf-js-enabled"> 
        <li class="item1"> 
         <span><a href="#" title="">menuitem-1</a></span> 
         <ul> 
          <li><a href="#">submenu-1-1</a></li> 
          <li><a href="#">submenu-1-2</a></li> 
         </ul> 
        </li> 
        <li class="item2"> 
         <span><a href="#" title="">menuitem-2</a></span> 
         <ul> 
          <li><a href="#">submenu-2-1</a></li> 
          <li><a href="#">submenu-2-2</a></li> 
          <li><a href="#">submenu-2-3</a></li> 
          <li><a href="#">submenu-2-4</a></li> 
         </ul> 
        </li> 
       </ul> 
      </nav> 

我想制作一个自定义wordpress菜单,但是我对这段代码有问题。正如你所看到的那样,在menuitem-1和menuitem-2之前还有一个span标签,还有一个近距离标签,但是子菜单项并没有。wordpress wp_nav_menu之前之后

我想这个做:

<?php wp_nav_menu(array('container' => 'nav', 'container_class' => ' ', 'theme_location' => 'primary', 'menu_class' => 'menu sf-js-enabled', 'before' => '<span>', 'after' => '</span>'));?> 

,但如果我用这个方法也有跨越左右的子菜单项的标签,但我不需要这些标签。

有没有解决方案?

回答

0

我创建了一个自定义类“my_nav_walker”插入到我的function.php并修改了原始类的这些线路从类行者-NAV-menu.php

现在工作得很好!

$item_output = ($depth == 0 ? $args->before . '<span>' : $args->before); //MODIFIED LINE original --> $item_output = $args->before; 
$item_output .= '<a'. $attributes .'>'; 
$item_output .= $args->link_before . $title . $args->link_after; 
$item_output .= '</a>'; 
$item_output .= ($depth == 0 ? $args->after . '</span>' : $args->after); //MODIFIED LINE original --> //$item_output .= $args->after; 

然后把这个我的头

<?php 
$walker = new my_nav_walker; 
wp_nav_menu(array(
'container' => 'nav', 
'container_class' => ' ', 
'theme_location' => 'primary', 
'menu_class' => 'menu sf-js-enabled', 
'walker' => $walker)); 
?> 
相关问题