Tudj meg mindent a WordPressről, építs professzionális weblapot programozói tudás nélkül!

Saját menük létrehozása

2010. július 29. | Téma: Extrák, Haladóknak

 

Korábban már írtam arról, hogy a WordPressben a kategóriákból illetve a statikus oldalakból lehet a legegyszerűbben menüt létrehozni, ezeket a legtöbb sablon magától meg is teszi. Saját menük létrehozására is van azonban lehetőség, mégpedig kétféleképpen: egy html widget segítségével, vagy legújabban – a 3.0 verzió megjelenése óta – a Menük funkcióval is.

Néha szoktak olyat kérdezni tőlem, hogy hogyan lehetne elérni azt, hogy például az oldalsávban állandóan legyen kint egy bejegyzés címe, vagy szeretne a megrendelő egy olyan menüt, amelyben például a munkái vannak felsorolva, és ezek egy-egy bejegyzésben lesznek, de erre nem jó a “Legfrissebb bejegyzések” widget, hiszen lesznek majd újabbak, és akkor a régiek eltűnnek.

Az ehhez hasonló kérésekre az a válasz, hogy bárhová el lehet helyezni egy linket, amely például egy kiemelni kívánt bejegyzésre mutathat. Ha a sablonod oldalsávját használod, a kellő helyre beírhatod azt a html sort, amely a feladatot végrehajtja; ha pedig az oldalsávod saját widgetekből áll, akkor egy Szöveg (Tetszőleges szöveg vagy html) típusú widgetet használhatsz erre a célra.

Mindkét esetben azt kell tudnod, hogy hogy néz ki egy link kódja. Erre a megfelelő html parancs az <a href>, amelyet a következőképpen kell használnod:

<a href=”http://www.domainnev.hu/kategorianeve/bejegyzes-cime“>Link szövege</a>

A pirossal írt részek a html kód részei, a zölddel jelzett az adott cél teljes címe, a kék pedig az, ami az oldalon meg fog jelenni. Akármennyi ilyen sort beírhatsz egymás alá, ezáltal máris létrehoztál egy saját menüt.

A WordPress 3.0 verziójának egyik újdonsága, hogy a saját menü létrehozására egy egyszerűbb módszert is kínál, mégpedig – és ez benne a legjobb – úgy, hogy a menüben gond nélkül keverheted a kategóriákat, az oldalakat és a saját linkeket. Ehhez már csak egy olyan sablon kell, amely támogatja a menüket.

Sajnos ugyanis a korábban használt sablonok ezt még nem tudják, hiszen amikor készültek, ez a funkció még nem létezett. Ha tehát ki akarod használni a saját menük könnyebbségét, olyan sablont kell választanod, amely kompatibilis a 3.0 verzióval – például a TwentyTen nevűt, amely a 3.0 verzió telepítőcsomagjában is megvan.

Frissítés: A régebbi sablonok is képesek kezelni az új Menük-funkciót, ha beillesztesz a kódba néhány php sort. Olvasd el erről Kiss Viktor (Milu Design) bejegyzését!

Ha viszont a TwentyTen-t használod, vagy más, új sablont, akkor a Menükre kattintva az alábbi ablak fogad:

Saját menük létrehozása

Először el kell nevezned valaminek az új menüt, majd a bal oldali ablakokban ki kell jelölnöd, hogy mely elemeket akarod beletenni a menübe. Látható, hogy választhatod akármelyik statikus oldalt, akármelyik kategóriát, és saját linkeket is megadhatsz. (A Főoldal csak akkor jelenik meg a listában, ha az Összes megjelenítése feliratra rákattintasz.) Válassz ki néhány elemet, és ne felejts el a Menü mentése gombra kattintani!

Saját menük létrehozása

A módszer szépséghibája, hogy egyszerre csak egy menü lehet ott, ahol eddig az alapértelmezett menü volt (jelen esetben a fejléckép alatti fekete sávban), tehát ha továbbra is szeretnéd látni az összes oldalt vagy kategóriát, és a saját menüdet is, akkor ezután is keverned kell a módszereket, de ne legyünk telhetetlenek. Van, akinek az egyik megoldás lesz jó, és van, akinek a másik. A fenti menü így fog kinézni az oldalon:

Saját menü létrehozása

Természetesen az oldalsávba továbbra is elhelyezheted a saját widgetjeidet, például az Oldalak vagy a Kategóriák felsorolását, és akkor már rendben is van minden – a káposzta is jóllakik, meg a kecske is megmarad :-)

Frissítés: Megjelent a WordPress 3.0.1 karbantartó-csomag. Ha ezt telepíted, most már régebbi sablonnal is tudsz Menüt létrehozni, a különbség csak annyi, hogy a menü létrehozása után azt csak az oldalsávba tudod beilleszteni, egy “Egyedi Menü” nevű widget segítségével .

Hozzáteszem még, hogy a régebbi sablonok fejlesztői sorban adják ki a frissítéseket, így egyre több sablon tudja már helyesen kezelni az új Menüket, sőt, a legtöbb már két külön menüt is engedélyez. Amikor sablont választasz, keresd a “kompatibilis a 3.0 menükkel” jelzést, akkor biztosan jót fogsz választani.

További jó pancsolást!

 

24 hozzászólás

Kérdésed, hozzáfűznivalód van? Oszd meg velünk!

  1. anna

    Nagyon jó bejegyzés, köszi. Pont ilyet rakok össze, és persze elfelejtettem rápöttyinteni a menü mentésére..

  2. Pap Zsuzsa

    Szia, Moni!
    Frissítettem a WP-t (néhány plugint is) és eltűnt a Kezdőlap menü pontom (a szerkesztőben megvan a leírás). A vezérlőpulton megtaláltam a Menüt, beírtam, mert nem találtam a menüpontok között, jött az üzenet, hogy frissítve a Kezdőlap, de mincs sehol. Tudnál segíteni? e-mailben is jelzem majd. Volt még egy olyan jelzés, hogy a sablon nem támogatja új menük létrehozását, de ez régi volt, csak “eltűnt”.
    Üdvözlettel
    Pap Zsuzsa

    • D. Bikfalvi Moni

      Szia!
      Sajnos nem tudom, mire gondolsz, én látom a kezdőlapodat. Megnéztem a beállításoknál, a “Rend vagy zűrzavar” című oldal van beállítva kezdőlapnak, és az is jelenik meg. Nem így akartad?
      Az All-In-One-SEO-Packodat csak be kellett kapcsolni, azért adott hibaüzenetet.

  3. tobias

    Tökéletes :)
    Nagyon szépen köszönöm pontosan erre a megoldásra vágytam.

  4. Melinda

    Szia Móni!
    A Twentytennel lehet almenüket létrehozni? Olyan legördülő megoldásra gondolok… Ha nem, akkor a Kis Viktor kódja megfelelő lenne?
    köszi
    Melinda

    • D. Bikfalvi Moni

      Bármelyik sablonnal létre lehet hozni almenüket, amelyik képes a menük kezelésére (Viktor kódja nem ezt csinálja, hanem azt, hogy amelyik sablon nem kezeli a menüket, azt rábírja, hogy kezeljék).

      Úgy kell almenüpontot csinálni, hogy kissé jobbra húzod az adott menüpont dobozát.

      Viszont hogy legördülő lesz-e vagy sem, az már a sablon programozásán múlik. A TwentyTen szerencsére támogatja ezt – lásd a http://www.web4mlm.hu/ tesztblogot, ott ha az Állatok menüpontra mutatsz az egérrel, meglátod, hogyan működik.

  5. Melinda

    Köszönöm!!!!! Ez borzasztóan egyszerű volt :-) )Fantasztikus ötlet volt részedről ez a wp-suli! Köszönjük azt a rengeteg segítséget amit adsz nekünk! :-) )

  6. AnagyZ

    Ha megy egy kicsit a php, vagy legalább a wordpress codex-ből tudsz szemezgetni akkor a daiko’s text widgettel szinte mindent ki lehet listázni, mert befogadja a php kódokat.
    Korlátlan darabot használhatsz, és nem kell a sablonválasztásnál figyelni a verzióra.

    • D. Bikfalvi Moni

      Itt inkább olyanok olvasnak, akiknek kínai a php :-) (én is csak akkor használom, ha tényleg muszáj), ezért igyekszem olyan módszereket bemutatni, amelyeket programozói tudás nélkül is lehet használni (ez a szlogenem is: “Saját honlap létrehozása programozói tudás nélkül”), de azért kösz az ötletet.

  7. Tamás

    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?

    • D. Bikfalvi Moni

      Csak azért írom be ide is, hogy ha később valaki pont ezt találja meg, legyen itt a válasz.

      Igen, megoldható, a sablon style.css fájljának kell megmondani, hogy hogyan írja ki a menüt. Tehát programozási feladat.

      (Elég egyszer feltenni a kérdést, válaszolok rá akkor is :-) – csak nem hétvégén :-) )

  8. Tamás

    Menükészítés során felmerülhet az igény, hogy a szülő menüpontoknak csak a nevét írja ki a rendszer, de NE LEGYEN KATTINTHATÓ, azaz ne kapcsolódjon hozzá link, csak az alatta lévő gyerek menüpontokhoz.

    Erre találtam is a net-en egy jó megoldást:

    jQuery(function($) {
    $(“li.page-item-***”).children(“a”).attr(‘href’, “javascript:void(0)”); });

    Itt mindössze annyi a dolgunk, hogy a *** helyére beírjuk a lap ID-jét és működik is.

    Igen ám, de mi van akkor, ha valaki egy kész sablont használ, ami nem a wp_list_pages-el, hanem a wp_nav_menu paranccsal generálja a főmenüt?
    Elvileg ilyenkor is működnie kellene ennek a módszernek, de vajon egészen pontosan mit kell rajta módosítanunk?
    Tudnátok segíteni?

    • D. Bikfalvi Moni

      Az egyik javascript, a másik php, sőt, egy előre megírt WP-függvényre hivatkozik, tehát ez már egészen más, mély php programozási téma.

      Viszont vannak olyan sablonok, amelyek ezt alapból tudják, a menüjükben kattintással beállítható ez a lehetőség. Ilyenek például az Elegant Themes prémium kategóriás, valóban elegáns és nagy tudású sablonjai. Ezek fizetősek, de az alacsony éves díjért (kb 7.000 Ft + ÁFA) cserébe az összes sablont letöltheted, az újakat is, amelyek a tagságod ideje alatt kijönnek. Ha az alábbi linken keresztül mész, még egy kis jutalékot is kapok :-)http://www.elegantthemes.com/affiliates/idevaffiliate.php?id=8177

      Nekem fejlesztői hozzáférésem van, ami azt jelenti, hogy az ügyfeleimnek továbbadhatom a munkám részeként bármelyik sablont, tehát ha nem akarod az összeset, csak egyet, arra is van lehetőség, ha közvetlenül tőlem rendeled.

  9. Tamás

    Köszi a választ. Megértettem amit írtál, de már szinte kész a teljes oldal, csak gondoltam jobban nézna ki, ha úgy működne, amit fentebb akartam.
    E miatt most nem fogok új sablont választani, de legközelebbre jó az ötlet

  10. Bokori Zoltán

    Szia!

    Azt szeretném tudni, hogy a menüben hogyan lehet az egyik menüpont színét megváltoztatni? Pl.: a Megrendelés menüpont legyen piros, a többi pedig sárga színű?

    Köszönöm!

Kérdésed, hozzáfűznivalód van? Oszd meg velünk!

Az e-mail címed nem fog nyilvánosan látszani.

*


*