Wsparcie » Motywy » Menu dropdown i funkcja wp_nav_menu

  • Chciałbym wdrożyć do mojego szablonu dynamiczne, rozwijane menu, używając funkcji wp_nav_menu. Struktura mojego menu przedstawia się następująco:

    <div class="menu">
      <ul class="lavaLamp">
       <li class="active"><a href="index">Dzial 1</a></li>
       <li><a href="adres">Dział 2 (rozwijany po najechaniu)</a>
        <ul class="dropdown">
         <li><a href="adres">Submenu 1</a></li>
         <li><a href="adres">Submenu 2</a></li>
        </ul>
       </li>
       <li class="active"><a href="index">Dzial 3</a></li>
      </div>

    Menu wstawiam do szablonu w ten sposob:

    <?php
     $ustawienia = array(
      'theme_location'  => '',
      'menu'            => 'Główne menu',
      'container'       => 'dropdown',
      'container_class' => 'dropdown',
      'container_id'    => 'dropdown',
      'menu_class'      => 'dropdown',
      'menu_id'         => 'dropdown',
      'echo'            => true,
      'fallback_cb'     => '',
      'before'          => '',
      'after'           => '',
      'link_before'     => '',
      'link_after'      => '',
      'items_wrap'      => '%3$s',
      'depth'           => 2,
      'walker'          => ''
      );
    ?>
    
    <div class="menu">
      <ul class="lavaLamp">
       <?php wp_nav_menu($ustawienia); ?>
       <?php //wp_nav_menu(array('menu' => 'Główne menu', 'items_wrap' => '%3$s')); ?>
    
      </ul>
     </div>

    Nie wyswietla sie ono jednak tak jak powinno. Wszystkie elementy sa od razu wyswietlone (Submenu 1 i 2 powinny byc widoczne dopiero po najechaniu na Dzial 2). Jak widac, dla elementu, ktory ma submenu powinna byc przypisywana klasa „dropdown”. Jak mozna to wszystko poprawnie skonfigurowac?

Viewing 2 replies - 1 through 2 (of 2 total)
  • Raczej bym to zrobił w ten sposób:

    <!-- Nawigacja Pozioma -->
    	<div id="nav">
    	<?php wp_nav_menu( array(
    	'menu' => 'Header', 
    
    	'container' => false,
    	'menu_class' => false,
            'menu_id' => false,
            'items_wrap' => '<ul>%3$s</ul>' ,
    	'item_class' => false,
    	'fallback_cb' => false,
    	));  ?>
    
    	</div>
    	<!-- Koniec Nawigacji -->

    Drop Down Menu uzyskuje się stosując selektory odpowiednio połączone hierarchicznie w dół czyli ul li ul itd. i dla takiego układu przypisujesz odpowiednie parametry i wartości już w arkuszu stylów (czyli nie dla klas czy atrybutów a dla samych znaczników)

    Ew. możesz go zawrzeć w divie, żeby te ustawienia były dla menu i żeby inne elementy listy ich nie przejeły.

    Wywalasz kontenery wywalasz dodatkowe klasy i atrybuty.

    Jak chcesz uzyskać pod menu wtedy w panelu tam gdzie tworzysz menu przesuwasz widget w bok w prawo. Wtedy staje się on podrzędnym (submenu) a funkcja już bedzie wiedziała jak to wyświetlić w kodzie.

    Na koniec pozostaje tylko kwestia formatowania css.

    W praktyce to jest tak, że im mniej tym lepiej, prościej – im więcej tym nie lepiej 😛

    Nawet bym to zrobił prościej:

    <nav id="access" role="navigation">
    <?php wp_nav_menu( array( 'theme_location' => 'primary' ) ); ?>
    </nav>

    [Przykład zerżnięty z motywu TventyEleven i można go spokojnie wykorzystać]

    A już w edycji w panelu możesz dodawać dodatkowe klasy. O tym pewnie nie wiedziałeś? 😉

    Thread Starter studiowizjo

    (@studiowizjo)

    Dzieki, mam nadzieje, ze jakos to rozgryze.

    A już w edycji w panelu możesz dodawać dodatkowe klasy. O tym pewnie nie wiedziałeś? 😉

    Nie wiedzialem. W jaki sposob? Nie widze takiej opcji.

Viewing 2 replies - 1 through 2 (of 2 total)
  • Temat ‘Menu dropdown i funkcja wp_nav_menu’ jest zamknięty na nowe odpowiedzi.