Menüket szeretnék váltani "gombnyomásra"

Sziasztok,











Dolgozok egy honlapon, aminek csak az oldalait három nyelven kellene elérni. A blog-rész ebből a szempontból nem számít.











Úgy szeretném, hogy három menüt hozok létre az admin/menü segítségével.











Hogyan tudom megoldani, hogy a headerben elhelyezett három zászlóikonra kattintva az annak megfelelő menüsort olvassa be a sablon a primary menühelyre - pl. az angol zászlóra kattintva az “angol” menübe berakosgatott oldalakat.











Nem tudom, ennyi infóval érthető-e a kérdés, illetve tudtok-e rá megoldást adni?











Köszönettel,





boresuta

Ezt kb hatvanfelekepp meg lehet kozeliteni. A legegyszerubb ha query string-et adsz a gombok linkjenek (http://domain.com/bl…/?lang=“magyar”)





Ezt ugye beolvasod a $_GET a valtozobol es az ertektol fuggoen cselekszel. Valoszinuleg egy suti sem art, hogy permanens legyen az ertek.











Ha a javascript fuggoseg nem problema akkor meg egyszerubb a helyzet mert akkor a query_string-el sem kell xarozni,a sutit is beallithatod php nelkul es akkor csak olvasnod kell.











Ha a fentebb leirtakbol egy szot sem ertesz, ugy valoszinuleg jobban jarsz, ha kipengetsz egy kis penzt egy programozonak.











Magat a menut meg ki tudod listazni a neve alapjan is es akkor semmi koze a location-hoz;









Quote:







If not given a theme_location(!!!!!!!) parameter, the function displays




    [*]the menu matching the ID, slug, or name given by the menu parameter, if that menu has at least 1 item;

    [*]otherwise, the first non-empty menu;

    [*]otherwise, output of the function given by the fallback_cb parameter (wp_page_menu(), by default);

    [*]otherwise nothing.

    [/list]












http://codex.wordpre...nce/wp_nav_menu

Elvileg lenne egy másik megoldás - de ehhez is elkelne egy kis segítség.





A különböző oldalakat nyelvenként eltérő headerrel oldanám meg, ez például a logófeliratok többnyelvűségét is megoldaná.





A headerekbe aztán az adott nyelvnek megfelelő menüt tenném be - mert ráadásul nyelvenként a tartalom is eltérő lenne, nem csak fordítani kell.











Azonban nem tudom, hogyan kell egy megadott menüre rászabni ezt a kódot:











'submenu', 'theme_location' => 'primary','menu_class'=>'sfmenu','fallback_cb'=> 'fallbackmenu' ) ); ?>











Ebben tudna segíteni valaki?





Köszönöm.

igy sincs tul sok kulonbseg az elozoekhez kepest. Az tuti, hogy a wp_nav_menu()-bol kimarad a theme_location es ekkor az id-t hasznalja alapertelmezettnek. Ha megadod a theme location-t is akkor azt a menut kapod, ami az adminban el van mentve. Ezert is linkeltem be az ide vonatkozo reszletet a dokumentaciobol. Az adminbol meg konnyeden ki tudod olvasni a menu id-t, ha megnyitod szerkesztesre. Az en esetemben ez igy nezne ki:











http://localhost/wpl…n=edit&menu=104















<?php $defaults = array(



‘menu’ => ‘104’,



‘container’ => ‘div’,



‘menu_class’ => ‘menu’,



‘menu_id’ => ‘’,



‘echo’ => true,



‘fallback_cb’ => ‘wp_page_menu’,



‘before’ => ‘’,



‘after’ => ‘’,



‘link_before’ => ‘’,



‘link_after’ => ‘’,



‘items_wrap’ => ‘

    %3$s
’,



‘depth’ => 0,



‘walker’ => ‘’



); ?>



















a menu_id parameter ne tevesszen meg, az csak HTML id a
    elemhez. Illetve nevet es ‘slug’-ot is hasznalhatsz a szam helyett





    <?php $defaults = array(





    ‘menu’ => ‘104’,





    ‘container’ => ‘div’,





    ‘menu_class’ => ‘menu’,





    ‘menu_id’ => ‘’,





    ‘echo’ => true,





    ‘fallback_cb’ => ‘wp_page_menu’,





    ‘before’ => ‘’,





    ‘after’ => ‘’,





    ‘link_before’ => ‘’,





    ‘link_after’ => ‘’,





    ‘items_wrap’ => ‘
      %3$s
    ’,





    ‘depth’ => 0,





    ‘walker’ => ‘’





    ); ?>





























    a menu_id parameter ne tevesszen meg, az csak HTML id a
      elemhez. Illetve nevet es ‘slug’-ot is hasznalhatsz a szam helyett

Köszönöm, ez alapján sikerült megcsinálni!