2017-01-11 92 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)); 
?> 
相關問題