Saját menü
WordPress 3.0-tól vannak sablonok, amelyek támogatják a saját menüt. Az újak sem mind, a régi, nem frissített sablonok pedig általában egyáltalán nem támogatják.
A sablon által felkínált menün kívül lehetőség van a Widgetek menüpont alól is menü létrehozására – vagy egyenesen a Menük menüpontban. Az így létrehozott menüket az oldalsávban tudod elhelyezni.
Mi van akkor, ha máshol szeretnél megjeleníteni saját menüt?
Valójában most már nagyon egyszerűen létre tudsz hozni egyedi menüt vagy menüket, amelyeknek akár a megjelenését is egyedire szabhatod egy kis CSS ismeret birtokában.
Ha egyetlen menüt szeretnél létrehozni, akkor a következő kódot helyezd el a functions.php fájlban:
add_action( 'init', 'register_my_menu' );
function register_my_menu() {
register_nav_menu( 'menu', __( 'Menu' ) );
}
A sablonodban az általad kiválasztott helyre pedig ez a kód kerüljön:
<?php wp_nav_menu( array( 'theme_location' => 'menu' ) ); ?>
A menu és a Menu elnevezést tetszőlegesen megváltoztathatod, de figyelj oda arra, hogy a sablonodban megjelenítendő kódban is írd át.
Ha kettő vagy több menüt szeretnél, akkor a functions.php kódja így változik:
add_action( 'init', 'register_my_menus' );
function register_my_menus() {
register_nav_menus(
array(
'top-menu' => __( 'Top Menu' ),
'footer-menu' => __( 'Footer Menu' ),
'termekek' => __( 'Termékek' ),
)
);
}
A sablonba illesztendő kód:
<?php wp_nav_menu( array( 'theme_location' => 'top-menu' ) ); ?>
Értelemszerűen a top-menu elemet megfelelően cserélgetni kell.
Az elemek neveit itt is nyugodtan átírhatod egy kis odafigyelés mellett.
Másik módszer a menük létrehozására, ugyanazon eredmény mellet, ha a functions.php fájlban ezt a kódot helyezed el:
if ( function_exists( 'register_nav_menus' ) ) {
register_nav_menus(
array(
'header_menu' => 'Header Menu',
'footer_menu' => 'Footer Menu'
)
);
}
A menülistát folytathatod, az elemek neveit lecserélheted.
A sablonba illesztendő kód ugyanaz, mint a másik módszernél.
Tehát válaszd a szimpatikusabb megoldást 🙂
compact
2011. 06 26. @ 15:05
Szia!
Adott egy WP téma, amiben van egy menü, egy vízszintes sorban, 6-8 menüpontból áll.
Van benne néhány szülő menüpont, amire kattintva legördülnek az almenüpontok.
Kérdésem a következő:
Meg lehet-e azt csinálni valahogy, hogy az almenük NE egymás alatt legyenek, hanem a főmenüsorhoz hasonlóan egy vízszintes vonalban, közvetlenül a főmenü alatt? (Ne adj isten akár még ezeknek is lehetne almenüje, ami szintén alatta lenne, egy 3. sorban.)
Ez megoldható egyáltalán WordPress-ben?
Andrea
2011. 06 30. @ 18:17
A kérdésed gyakorlatilag nem is WordPress, hanem CSS kérdés. Természetesen megoldható, a CSS fájlban kell a menü formázást kivitelezni.
A CSS tutorial: http://www.w3schools.com/css/default.asp
Batka
2012. 11 22. @ 23:19
Szia!
Nem egészen tiszta számomra, h ezzel a módszerrel meg lehet-e egyáltalán oldani a következőt:
a frontpagemen van egy mainnav, a header nav; van még ezen kívül a klasszikus footer navigációm, de én ezek mellett még egy újabb dropdownos menüt szeretnék, gyakorlailag a tartalmi rész közepére. (A hagyományos html+css+jquerry dropdown gyártás tiszta, de hogy ezt hogyan tudnám még bepakolni a meglévő navigációs elemeken túl…háát..). Az oldal kb ilyen struktúrájú: header – utána egy képslider – ezután egy cikk, és én ide a cikk mellé szeretném bepakolni ezt a bizonyos dropdown, mondjuk így, almenüt..
Köszönettel
Bat
Andrea
2012. 11 23. @ 1:52
Nem teljesen tiszta 🙂
Megoldható ezzel is, ki kell egészítened a meglévő navigációs menü listát – gondolom a functions.php fájlban van (egyszerű sablon esetén) és a css-ben meg kell formázni a megjelenést.
Megoldható pl. a Widgetize Pages Light bővítménnyel is, ha egy oldal van beállítva kezdőlapnak, azaz nem front_page.php vagy home.php a nyitóoldalad és teljes oldalszélességű a nyitó oldalad content része.
Ha pedig egy jobb oldali sidebaros nyitóoldalad van, akkor csak létre kell hoznod az egyéni menüt a menükezelőben és az egyéni menü widgettel beilleszteni..
Batka
2012. 11 23. @ 9:54
Szia Andrea!
Köszi a gyors választ! 🙂 Tisztázom! 🙂 Egy ehhez hasonló dropdown/flyout menüt szeretnék a main contentbe, mondjuk a ‘body’ részbe: http://greengeckodesign.com/projects/MenuMatic/examples/vertical/index.htm?q=projects/menumatic/examples/vertical/
És mindez tök független a top-nav/main nav-tól, azaz más-más aloldalakra lehet ugrani a top/header nav menüből, mint ami a leendő rolldown/flyout-ban lenne. És a footer navtól is független…:)
Átnézem alaposabban a válaszod addig is…:)
Köszönet!
Bat
Andrea
2012. 11 23. @ 11:33
Igen, ehhez jó ez a módszer. Így lesz egy negyedik navigációs menüd.
Tehát, van három menüd most, amit kiegészítesz, pl.
‘header_menu’ => ‘Header Menu’,
‘main_menu’ => ‘Main Menu’
‘footer_menu’ => ‘Footer Menu’
‘content_menu’ => ‘Content Menu’
A megjelenése persze attól függ, hogy hogyan formázod CSS-ben.
A beillesztése pedig attól, hogy milyen szerkezettel dolgozol (front_page vagy egy oldal van beállítva kezdőlapnak – ahogy fent írtam). Persze létrehozhatsz hozzá egy külön oldal sablont is.
Batka
2012. 11 23. @ 15:27
\o/ okay, nagyon köszönöm! Valszeg megcsinálom én egy új oldalsablonként. Már megnyugodtam…:)