Wp_nav_menu () - vesz egy tetszőleges menüt létre a Megjelenés panelen - menü - (megjelenés -
Kijelzők önkényes menü létre a panel: „Megjelenés> menü” (Megjelenés> Menük).
Milyen navigációs menü kijelző (több is lehet), jelzett theme_location paramétert.
Hacsak külön theme_location. majd a menü megjelenítéséhez lesz kiválasztva, az alábbi sorrendben:
Ellenkező esetben az első nem üres menü;
vagy nyomtassa ki a visszaadott érték a függvény meghatározott paraméterek „fallback_cb” (ez az alapértelmezett, ahol jelezzük funkció wp_page_menu);
Hogy támogassa a téma menüben engedélyezni kell ezt a funkciót keresztül:
add_theme_support ( 'menük');
Vagy lehet regisztrálni a helyét a menüben, a register_nav_menu (). majd a téma menütámogatás automatikusan bekapcsol.
További információk a befogadás és kívül el tudja olvasni a menü egy külön cikkben.
Szűrés megváltoztatja a menüpont
nav_menu_item_args - szűrőbeállításoknak egyéni menüpontot.
nav_menu_css_class - kiszűri css osztályokat (class attribútum) az egyes
nav_menu_item_id - kiszűri az ID attribútum az egyéni
nav_menu_link_attributes - szűrő attribútumok menüpont: cím, cél, rel href.
nav_menu_item_title - kiszűri a szöveg horgonylinkek menüpontot.
Horgok funkciók:
csiga) _items „title =” / ** * Szűrők HTML lista tartalmát az adott navigációs menü. * * * * @since 3.0.0 @see wp_nav_menu () * * @param string $ példány A HTML lista tartalom a menüpontok. * @param stdClass $ args Egy tárgy, amely wp_nav_menu (érvek). * / $ Db = apply_filters ( "wp_nav_menu__items", $ tételek $ args); „> wp_nav_menu_ (menü-> csiga) _items
visszatér
A funkció megjeleníti a HTML kódot menüben.
Érvek paraméter $ args
theme_location (string) azonosítója a helyét a menü sablon. Amely jelzi a funkció register_nav_menu () a menü regisztráció.
Alapértelmezett: „” menüben (string) menü jelenik meg. Compliance: id, meztelen csiga, vagy a nevét a menüből.
Alapértelmezett „” tartály (string)
A csomagoló ul tag. Elfogadható: div vagy nav.
Ha nem kell semmit csomagolja írunk hamis: konténer => false.
Alapértelmezett: div
container_class (string) attribútum érték osztály körében menü tartályba.
Alapértelmezett: menü - konténer containeMd (string) értéke az id attribútum a menüben a tartály.
Alapértelmezett: '' menu_class (string) Az érték a class attribútum a ul tag.
Alapértelmezett: menü menu_id (string) értéke az id attribútum a ul tag.
Alapértelmezett: echo csiga menü (logikai érték) megjeleníti a (igaz) vagy visszatérni eljárás (hamis).
Alapértelmezés: true fallback_cb (sztring) függvény kezelni a kimenet, ha nincs menü található.
Belépők minden érv $ args meghatározott funkció itt.
Az üres string „” vagy „__return_empty_string”. úgyhogy nem jelenik meg semmi, ha nincs menü.
Alapértelmezett: wp_page_menu előtt (string) A szöveg a címke elé menüben.
Default 'után (string) szöveges után minden tag menüben.
Default 'link_before (string) Szöveg horgonyszövegéből minden link a menüben.
Default 'link_after (string) szöveg után horgonyt minden link a menüben.
Alapértelmezett: „” items_wrap (string) Szükséges, hogy lezárja az elemeket a ul tag. Ha szükséges, adja meg a wrapper sablont.
Default: "
- % 3 $ s
Alapértelmezett: Walker_Nav_Menu item_spacing (string), vagy nem hagy sortöréseket egy HTML kódot menüben. Lehet: megőrizni, vagy dobja
Default: „megőrizni” a tetejére
# 1. Az alapértelmezett kimeneti beállításokat az első nem üres menü:
# 2. Kijelző menü a neve „Oldalnavigáció”:
# 3 menüjében az oldalakat. Példa a téma: Húsz Ten.
Ha a kimenet nincs beállítva, és a menü nem található, akkor a menü kerül kialakításra oldalakról funkció wp_page_menu ().
Ebben a példában a menü jelenik meg a meztelen csiga „elsődleges”:
# 4 A wp_nav_menu_args kiszűrje az alapértelmezett beállításokat az összes menü
Ahhoz, hogy távolítsa el a tartályt minden navigációs menü azonnal használja az alábbi kódot a téma functions.php fájlt. Használja a horgot „wp_nav_menu_args”:
# 4.1. Vegye ki a tartályt, csak az egyik kimenet menü
# 5 Eltávolítás ul wrapper
Ez a példa eltávolítja a ul tag wrapper a menüből:
# 6 Szó felvétele a Start menü
Ez a példa azt mutatja, hogyan kell adni egy szót az elején a menü lista formájában azonos menüpont, de nem kötjük. Hozzáadás a menü tetején, a „lista” is meghatározza az id attribútum létrehozott címke li:
# 7 add CSS osztályok összes menü
A horog, akkor add hozzá a saját CSS osztályok, ha tiszteletben tartják a megfelelő állapotban.
Add CSS osztályt, ha a posta és a cím a menüpont még „blog”:
# 8 használata a funkciója, hogy építsenek menük
Ehhez először meg kell adnia az érvelés „Walker” => új Your_Walker_Function.
Your_Walker_Function - ez a mi új osztályt épít, hogy a menü. Annak érdekében, hogy ne újra feltalálni a kereket, akkor lehet másolni az eredeti (class Walker_Nav_Menu a file \ wp-includes \ nav-menü-template.php), és csak a csípés, ahol szükséges.
Íme egy példa arra, hogy hozzáad egy menü mélységét és páros / CSS osztályok menüpontok (mind ul és li):
Az admin felületre van szüksége, hogy hozzon létre 2 különböző menük és csatolja a megfelelő helyeken (nak).
# 10 CSS osztály a menü szülői sejtek
Ha hozzá szeretne adni egy CSS osztályt menüpontok leányvállalatokkal (halmozott listák linkek), akkor tegye a következőket:
# 11 hozzáadása osztály egyes menüpontok
Volt egy speciális horog erre: nav_menu_css_class. És most, osztályok lehet hozzáadni vagy eltávolítani rajta. Például tegyük hozzá my__class osztályát menüpontok:
Osztályok menüpontok adunk _wp_menu_item_classes_by_context funkció ( $ Menu_items). De sajnos nem nyújt semmilyen szűrőt felvenni az osztály. Ezért menjünk kerülő úton, és használja a mankót str_replace ():
# 12 megjelenítése menü csak akkor, ha létezik
Alapértelmezés szerint, ha nincs menü, ahelyett, hogy visszavonja az oldalt. De ha azt akarjuk, hogy a menü megjelenítéséhez, csak akkor, ha létrejön az admin felületen válassza fallback_cb paraméter „__return_empty_string”:
13 Következtetés Csak menüpont
Tegyük fel, van egy első szintű és az egyes elemek az első szinten, saját almenüt. Meg kell hozni egy almenütételt osztály menü-elem-135:
Nem igazán a legjobb, de egy működő példa. Néha hasznos lehet, mert homályos helyek, ahol meg kell, hogy gyorsan kap az eredmény.
CSS osztályok menüpontok
Az alábbi CSS osztályok adunk a menüpontok (elválasztási körülmények, amelyek az oldalak felhasználói található):
Minden elem minden oldalon
.menü-tétel - az összes menüpont;
Az elemek az aktuális oldal
Elemeket a szülő az éppen megtekintett oldal
Elemeket valamilyen módon összefügg a meglátogatott oldal
Kapcsolatos elemek a honlapon
Kompatibilitás funkcióval wp_page_menu ()
A példákban a gyakran használt menüpont $ elemet. Mutatja szinte az összes beállítást ezen elem:
Példa a Walker paraméter
A Walker nyújthat egy objektumot, amely épít a menüt. Ez az objektum lehet leírni HTML kódot kapott menüt.
Ha azt szeretnénk, hogy hozzon létre egy egyéni menü az elrendezés, néha könnyebb megváltoztatni ezt a tárgyat, mint hogy újra az elrendezést.
Példaként a tárgy járóka, hogy Walker_Nav_Menu osztály<>. ami az alapértelmezett. Ebben mi érdekli csak egy start_el () metódust. Ez felelős minden egyes eleme a HTML. Általános szabály, hogy elegendő, ha megváltoztatjuk csak a. Ehhez létre kell hozni egy osztályt, amely kibővíti Walker_Nav_Menu osztály, és adja meg azt a Walker paraméter amikor meghívjuk a menüt.
Nézzük egy példát. Taken módszer kód start_el () változott. Templátként:
Most, amikor hívja a menü jelezze Walker:
Kész, most minden menüpont fog alapulni a szükséges HTML minket rendszer.
Kód wp nav menüben. wp-includes / nav-menü-template.php WP 4.8.1
Vannak kötve funkciók
A címke: nav_menu (navigációs menü)
Üdvözöljük Timur! Kérem, mondja meg, lehetséges, hogy következtetni wp-menü WordPress motort. Az egyik fórumon egy könyvtárat, ahová a menü megjelenítéséhez a wp, wp másik azt. Kiderült, hogy lehetséges, hogy csatlakozzon a WP és priinkludit fájlokat WP. Milyen irányba gondolkodni? Köszönjük!
Van megoldás:
include ( './wp-load.php');
wp_nav_menu (array ( 'menü' => 'bármit');
De lehetséges, hogy valahogy optimalizálni, nem az egész WP feltölteni, de csak azt, ami vonatkozik a menü? köszönöm