2017-01-11 3 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, но у меня проблема с этим кодом. Как вы можете видеть, есть тег span перед menuitem-1 и menuitem-2 и тег span span тоже, но нет элементов подменю.wordpress wp_nav_menu before after

Я пытался сделать с этим:

<?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 и модифицировать эти строки исходного класса из класса-ходунки-нав-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)); 
?> 
Смежные вопросы