Užitečné pluginy, návody a šablony pro WordPress CMS

Rozšíření šablony o editovatelná menu

WordPress nabízí možnost využití  menu upravitelných z administrace. To je velký krok kupředu směrem k CMS. Pokud se učíte, jak tvořit šablony pro WP nebo jen máte starou šablonu a potřebovali byste ji modernizovat o tuto funkcionalitu, pomůže vám tento rychlý exkurz.

Předně je nutné v souboru functions.php nové mezu zaregistrovat. Stačí vložit následující kód:

if ( function_exists( ‚register_nav_me­nus‘ ) ) { register_nav_me­nus( array( ‚primary_menu‘ => ‚Hlavní menu‘, ‚foot_menu‘ => ‚Menu v patičce‘ ) ); }

Jistě jste si všimli, že jsme tímto příkazem zaregistovali hned dvě navigační menu. Hlavní menu a menu v patičce. Pokud byste chtěli jen jedno, odstraňte řádek “‘foot_menu’ ⇒ ‘Menu v patičce’”, nebo naopak ukončete tento řádek čárkou a přidejte ješte jeden. Dbejte na to, že první parametr (tedy ‘foot_menu’ a ‘primary_menu’) musí být unikátní. Druhý slouží pro vaši orientaci, takže ideálně by měl být také unikátní, ale WordPress na tom netrvá.

Tímto jste si zaregistrovali menu a nyní již naleznete v administraci navigačních menu (Vzhled->Menu) nalevo v boxu své dvě pozice (“Hlavní menu”, “Menu v patičce”) a lze vytvářet menu a přiřazovat je těmto dvoum pozicím.

Nyní tedy již zbývá pouze nechat zobrazit menu v šabloně. Je nutné zvolit místo, kde chcete menu zobrazit – to je na vás. Pokud modernizujete starou šablonu, budete nejspíš nahrazovat funkci “wp_list_cate­gories” umístěnou v souboru header.php nebo sidebar.php.

Pro vložení menu do šablony použijte níže uvedený kód. Všechny uvedené parametry jsou parametry defaultní a proto, když je nebudete měnit, můžete je, pro zkrácení kódu, odstranit. Funkce wp_nav_menu má ještě další parametry (menu,walker,fal­back_cp), ale ty jsou pro začátečníka zbytečně komplikované a zřítka využitelné. Koho by zajímaly, nechť se obrází na kodex

<?php $args = array( ‚theme_location‘  => ‚primary_menu‘, unikátní identifikátor menu nastavený v functions.php ‚container‘       => ‚div‘, nebo ‚nav‘ nebo false. Určuje, co se má použít jako element obklopující element UL samotného menu. False znamená, že žádný takový element nebude ‚container_class‘ => ‚menu-{menu slug}-container‘, třída (class) elementu UL obklopující samotné menu ‚container_id‘    => '', parametr ID elementu obklopujícího element UL samotného menu ‚menu_class‘      => ‚menu‘,  třída (class) elementu UL obklopujcí menu ‚menu_id‘         => ‚nav‘, parametr ID elementu UL obklopující menu ‚echo‘            => true, má se menu vypsat, nebo jen vrátit pomocí fce return? ‚before‘          => '', text před HTML tagem <a> ‚after‘           => '', text za HTML tagem </a> ‚link_before‘     => '', text před samotným textem odkazu ‚link_after‘      => '', text za samotným textem odkazu ‚items_wrap‘      => ‚<ul id=„%1$s“ class=„%2$s“>%3$­s</ul>‘, HTML markup vlastního menu ‚depth‘           => 0, //do kolikáté úrovně zobrazovat podstránky. 0 znamená všechny úrovně ); wp_nav_menu( $args ); ?>


Celý příspěvek »

 

OVX.cz 2003 | Přihlásit se
Bez cookies už dnes těžko provozovat plnohodnotný web. Setrváním zde tudíž vyjadřujete souhlas s jejich používáním. Více informací. | Zavřít.