Ondersteuning » Code oplossingen gezocht » Submenu in 2 div’s

  • Hoi,

    Ik heb een vraagje. Ik wil in een website WordPress inbouwen, deze website heeft echter een afwijkend menu dan normaal.
    Er zijn 2 menus, 2 balken onder elkaar. Het hoofdmenu bevind zich in de eerste balk, daaronder het submenu. Wanneer je in de 1e balk op een menu item klikt, moet daaronder de submenus van het hoofditem tevoorschijn komen.

    Je krijgt dus dit:
    ————
    Home | Activiteiten (men klikt op activiteiten)
    ————
    Agenda | Foto’s | Inschrijven
    ————

    Is hier een mogelijkheid voor met WordPress? Het submenu zit al in WordPress maar hoe krijg ik dat in 2 verschillende div’s? Dus hoofdmenu apart van het submenu?

    Ik hoop dat iemand kan helpen, alvast hartelijk dank.

    Gr, Derk

2 reacties aan het bekijken - 1 tot 2 (van in totaal 2)
  • Mogelijkheid 1: Jou pagina’s bevinden zich op hetzelfde niveau (er zijn dus geen subpagina’s). Je wil gewoon 2 aparte menu’s maken om esthetische redenen

    In dit geval kan je simpelweg je menu ‘samenstellen’ door zelf op te geven welke pagina id’s in het hoofdmenu moeten komen en welke in het submenu. Bij wijze van voorbeeld ga ik van volgende lijst uit:

    * pagina HOME met id 1
    * pagina ACTIVITEITEN met id 2
    * pagina AGENDA met id 3
    * pagina FOTOS met id 4
    * pagina INSCHRIJVEN met id 5

    Voor het hoofdmenu gebruik je volgende code:

    <ul>
    <?php
    wp_list_pages('exclude=3,4,5' ); ?>
    </ul>

    Het submenu ziet er dan als volgt uit:

    <ul>
    <?php
    wp_list_pages('exclude=1,2' ); ?>
    </ul>

    In het hoofdmenu worden de pagina’s met id 3, 4 en 5 geweerd, alsook hun subpagina’s. Het omgekeerde gebeurt in het submenu doordat daar de pagina’s met id 1 en 2 geweerd worden.

    Mogelijkheid 2: Je wil onderdeel van het hoofdmenu dat er een submenu verschijnt met daarin de subpaginas van dat onderdeel

    Eerst al een opmerking: indien je wilt dat wanneer je op het hoofdmenu klikt, er direct een submenu verschijnt zonder dat je naar een nieuwe pagina wordt verwezen, dien je een javascript te gebruiken. Het voorbeeld dat ik hier geef is statisch en puur op de mogelijkheden van WordPress gebaseerd.

    Voor je hoofdmenu gebruik je de reguliere code:

    <ul>
    <?php
    wp_list_pages('depth=1'); ?>
    </ul>

    Hiermee worden enkel de hoofdpagina’s opgevraagd en de subpagina’s geweerd. Wanneer iemand bijvoorbeeld op activiteiten klikt komt ie terecht op http://www.jeblog.com/activiteiten (indien je permalinks gebruikt) of op http://www.jeblog.com/?p=2 (indien je geen permalinks hebt en het id voor activiteiten is 2).

    Dit brengt ons bij de volgende stap. Je hebt dus in je hoofdmenu op activiteiten geklikt en bent doorverbonden naar de pagina activiteiten. De code voor je submenu ziet er als volgt uit:

    <ul><?php
          if($post->post_parent) { // page is a child
            wp_list_pages('sort_column=menu_order&title_li= &child_of='.$post->post_parent);
          }
          elseif(wp_list_pages("child_of=".$post->ID."&echo=0")) { // page has children
            wp_list_pages('sort_column=menu_order&title_li= &child_of='.$post->ID);
          }
        ?></ul>

    Deze code zal de subpagina’s opvragen voor de pagina waarop je je bevind (in ons geval activiteiten ofte id 2). In jouw geval zou dat een submenu opleveren met de onderdelen Agenda, Foto’s en Inschrijven. Stel nu dat je zou klikken op agenda zou je op de pagina http://www.jeblog.com/activiteiten/agenda terecht komen. Dit is een “dochter-pagina” van activiteiten, dus zal het menu de subpaginas van activiteiten blijven weergeven.

    Thread starter Derk Oosterveld

    (@derkdec)

    Hartelijk dank, ik ga er binnenkort mee bezig!

2 reacties aan het bekijken - 1 tot 2 (van in totaal 2)
  • Het onderwerp ‘Submenu in 2 div’s’ is gesloten voor nieuwe reacties.