Úvodní stránka › Fórum podpory WordPressu › Šablony, CSS (zobrazení webu) › Přidání nových funkcí wp 3.0 do staré šablony?
Štítky: init, Menu, register_nav_menu(), WordPress 3.0, wp_nav_menu()
Zvolené téma obsahuje celkem 14 odpovědí. Do diskuze (4 účastníci) se naposledy zapojil uživatel admin a poslední změna je stará 14 let, 4 měsíce.
-
AutorPříspěvky
-
23. června 2010 (8:43) #672
Pěkný den.
CHtěl jsem se zeptat jak je možné přidat do staré šablony z wordpressu 2x nové funkce z wordpress 3.0. Hlavně podporu vlastních menu. Díky za rady.23. června 2010 (9:48) #7085Zdravím,
určitě je to možné (a i doporučené), podrobný návod vyjde u nás na webu, zatím jenom stručně (pro menu).
Menu můžete vytvořit i bez zásahu do šablony, ale vložit ho pak na web můžete vložit pouze pomocí widgetu. Pokud ho chcete dát na nějaké svoje vlastní místo, je potřeba následující postup:
1) Nejdříve je potřeba menu registrovat (tedy říci WordPressu, že naše šablona bude systém nových menu využívat). Stačí to provést přidáním následujícího kódu do souboru
functions.php
(v adresáři se šablonou):add_action( 'init', 'registrovat_moje_menu' ); function registrovat_moje_menu() { register_nav_menu( 'moje-menu', 'Moje menu' ); }
V případě, že chcete používat více menu, tak použijete obdobnou funkci register_nav_menus(). Tímto kódem vlastně řeknete WordPressu, že budete používat v šabloně jedno umístění pro menu (s názvem “Moje menu”). V menu Menu se vám tam pak zobrazovat nabídka pro výběr vytvořeného menu pro toto registrované umístění.
2) Poté už stačí menu jen umístit na libovolné místo šablony, např. nahradit nějaké současné menu pomocí tohoto kódu:
<?php wp_nav_menu( array( 'theme_location' => 'moje-menu' ) ); ?>
Tím zase řeknete WordPressu, aby dal na toto místo menu, které je v administraci přiřazené tomuto registrovanému umístění.
Doufám, že to je srozumitelné, případně se klidně ptejte na detaily…
25. června 2010 (8:00) #7086Díky za info.
Postup funguje.
Menu nelze přepínat v administraci, ale jen úpravou kódu.
25. června 2010 (9:48) #7087Určitě by to mělo jít přepínat v administraci v menu Vzhled – Menu. Vlevo nahoře by se mělo objevit rozevírací menu (Theme Locations), kde si můžete vybrat, které z vámi vytvořených menu se bude zobrazovat v definované oblasti (viz předchozí bod 1).
25. června 2010 (10:51) #7088Aha. Jde to. To se omlouvám chyba byla na mojí straně. Díky.
25. června 2010 (11:05) #7089Ještě jeden rychlý dotaz. Nevíte jestli je známé datum kdy asi by se mohla objevit na webu http://cs.wordpress.org/ ke stažení česká verze Wp 3.0?
25. června 2010 (11:08) #7090Přesné datum známo zatím není, doporučuji sledovat komentáře k tomuto příspěvku. Čeština se objeví během několika dní…
2. července 2010 (10:07) #7091Mám takový zajímavý dotaz nevíte jestli by šlo meníčko vypsat v vodorovném stylu? myslím, abych to mohl strčit do header. Mám starší template, který toto vůbec neobsahuje. A dost by se mi to hodilo.
svislé meníčko jsem si již nahradil dle návodu výše. Za návod děkuji.
2. července 2010 (14:13) #7092Určitě, je to jen otázka stylování toho menu. Přidáte v definici funkce wp_nav_menu() ještě parametry s odlišnými CSS třídami a nastylujete je tak, aby se menu zobrazovalo horizontálně. Pro každou šablonu je to trochu jiné, ale zkuste se inspirovat např. ve výchozí šabloně WordPressu TwentyTen. Pokud se nezadaří, tak to můžeme zkusit vytvořit společně…
3. července 2010 (14:07) #7093Jo jo opravdu to jde tak jak píšete.. :) meníčko je na světě jen ho musím pořádně dostylovat aby mi to dobře zalamovalo delší texty s mezerou. V podstatě jsem přestavěl meníčko z základní šablony TwentyTen.
Tak děkuji za radu.
4. července 2010 (10:12) #7094Zdravím tak jsem narazil ještě na jeden problem. Nevim jak bych se spravne vymackl ale jde se dostat k vypisu nazvu prirazeneho menu administraci? Nekde to preci musim ulozit. Ale nevim jak to vypsat. (chtěl bych nazev v menu v administraci zobrazit i v hlavicce výpisu menu) aby kdys si prejmenuji menu tak aby se mi zobrazil nazev. Nemohl by mne zase nekdo postouchnout :) v php uz nejakou dobu nepracuju, tak jsem trochu mimo a nemohu to najit jak na to.
Je to tedy takova fičurka ale když už dinamické menu tak se vším všady :) by to chtělo.
Tuším že to je spíš na prozkoumání kódu který jsem tam napsal ale kdyby někdo měl nějakou obecou radu jak na to dost by mi to pomohlo.
5. července 2010 (13:21) #7095Nevím, jestli jsem to správně pochopil – chcete zobrazit název menu v administraci i na webu, a to automatizovaně (tedy když název změníte, tak se změní i na webu)?
Myslím, že toto v současné době žádným jednoduchým způsobem asi nejde (možná nějaký dotaz do databáze by šel), ale už byl založen někým požadavek a bude to snad součástí nějaké nové verze WordPressu.
7. července 2010 (8:09) #7096AHA – došel jsem k prozření.
To co jsem popisoval, jde vyřešit vlastně úplně jednoduše. Nevšiml jsem si totiž, že jde menu použít jako widget. :-D Tzn. lze měnit nadpis pro menu, které si zaregistrujete. Připadám si trochu jako hlupák, ale tak ne vše se podaří napoprvé. Tzn. pro left sidebar nebo right sidebar, který je definovaný v kódu lze menu jednoduše dodat :) jen čistě jako widget.
Inu přeji příjemný den a děkuji mnohokráte.
7. srpna 2010 (17:13) #7097Zdravím, potřeboval bych poradit, jak mám nastavit to vertikální menu, aby jsem mohl zadat v administraci název menu a vybrat si jaké položky v něm chci mít.
Na stránkách: http://vymena-odkazu.okamzite.eu/ mám dvě menu – horizontální – které se tvoří automaticky, podle stránek a vertikální, které je to samé. Potřeboval bych, abych si mohl to vertikální menu upravit podle svého.. tzn abych si mohl v administraci do tohoto menu zadat stránky které tam potřebuji mít, nezávisle na horizontálním menu.
Jsem bezradný, nevím jak toto udělat. V administraci je ve Vzhledu možnost menu, ale píše mi to že: “Aktuálně používaná šablona sice nepodporuje přímé zobrazování menu, ale přesto můžete použít alespoň widget „Menu“, pomocí kterého jednoduše zobrazíte vytvořené menu např. v postranním panelu.”
Prosím, pomůže mi s tímto problémem někdo? Předem mnohokrát děkuji.
7. srpna 2010 (17:47) #7098Pozorně si prosím přečtěte druhý příspěvek v tomto vlákně, kde je vše podrobně vysvětleno. Prostor pro menu můžete buď resgistrovat a umístit na libovolném místě v šabloně a potom už na to místo budete moci umisťovat konkrétně vytvořená menu z administrace. Pokud jde o vertikální menu, tak můžete použít ideálně widget “Menu” (pokud je vaše šablona podporuje). Pokud ne, tak opět platí předchozí postup, nebo můžete šablonu widgetizovat. Pokud ještě něčemu konkrétním nerozumíte, tak se klidně ptejte…
-
AutorPříspěvky
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.