WordPress - вложенное меню Nest в родительском меню с использованием Nav Walker Class

Я хочу создать такую ​​структуру меню:

 <ul id="menu">
    <a href="products.html"><li>Products
       <ul class="submenu">
          <a href="product-cat-1.html"><li>Product category 1</li></a>
          <a href="product-cat-2.html"><li>Product category 2</li></a>
       </ul>
    </li></a>
    <a href="service.html"><li>Service</li></a>
    <a href="contact.html"><li>Contact</li></a>
  </ul>

Пока мне удалось создать это:

<ul id="menu">
   <a href="products.html"><li>Produkty</li></a>
   <ul class="submenu">
      <a href="product-cat-1.html"><li>Product category 1</li></a>
      <a href="product-cat-2.html"><li>Product category 2</li></a>
   </ul>
   <a href="service.html"><li>Service</li></a>
   <a href="contact.html"><li>Contact</li></a>
</ul>

Есть ли способ вложить подменю в родительский, как это?

Вот мое расширение для Уокера:

class beCaWalkerMain extends Walker_Nav_Menu {
    function start_el(&$output, $item, $depth=0, $args=array(), $id = 0) {
        $object = $item->object;
        $type = $item->type;
        $title = $item->title;
        $description = $item->description;
        $permalink = $item->url;

      if( $permalink && $permalink != '#' ) {
        $output .= '<a href="' . $permalink . '"><li>';
      } else {
        $output .= '<span>';
      }

      $output .= $title;
     if( $permalink && $permalink != '#' ) {
        $output .= '</li></a>';
      } else {
        $output .= '</span>';
      }
    }
    function start_lvl(&$output, $item, $depth=0, $args=array(), $id = 0) {
        $object = $item->object;
        $type = $item->type;
        $title = $item->title;
        $description = $item->description;
        $permalink = $item->url;

      //Add SPAN if no Permalink
        $output .= '<ul class="submenu">';

      $output .= $title;

    }
    function end_lvl(&$output, $item, $depth=0, $args=array(), $id = 0) {
        $object = $item->object;
        $type = $item->type;
        $title = $item->title;
        $description = $item->description;
        $permalink = $item->url;

        $output .= '</ul>';
    }
}

Был бы очень рад, если бы кто-нибудь мог объяснить решение (если возможно) подробно, так как я хочу узнать больше об этих Расширениях класса Уокера.

0 ответов

Другие вопросы по тегам