Examinarea funcției wp_nav_menu

Când WordPress 3 ne-a prezentat noua funcționalitate Menus, a schimbat modul în care am vizualizat meniurile de navigare pentru totdeauna. Nu mai aveam obligația de a utiliza funcțiile normale de listare a paginilor sau de a construi propriile funcții de meniu personalizate pentru a integra meniurile de categorii și pagini, precum și elemente externe sau hard corelate într-un meniu nav. Dar cât de obișnuit putem obține cu această nouă funcție? În acest tutorial, ne vom arunca adânc în tot ceea ce wp_nav_menu funcția poate face, utilizați clasa Walker pentru a adăuga o descriere sub-text și atingeți unele dintre funcțiile sale asociate.


Parametrii

Funcția are câțiva parametri pentru a lucra cu. Iată valorile implicite, așa cum sunt enumerate în Codul WordPress.org:

  , 'menu_id' => 'menu_class' => 'meniu', 'menu_id' = 'meniu' => >, 'Echo' => true, 'fallback_cb' => 'wp_page_menu', 'before' =>, 'after' => 'link_before' => 'link_after' =>% 3 $ s',' adâncime '=> 0,' walker '=>); ?> 

Tema Locație

Folosind acest parametru, putem seta o locație tematică care este utilizată apoi în pagina Meniu pentru a seta un meniu care să funcționeze în acea parte a temei, fără a fi nevoie să definiți manual care meniu ar trebui să apară acolo. Acest lucru este foarte util pentru distribuitorii de teme, deoarece puteți utiliza condiționate pentru a afișa un meniu numai dacă utilizatorul a definit un meniu pentru acea locație. Singura altă cerință este că folosiți funcția register_nav_menu () pentru a înregistra aceste locații. Acest lucru se face de obicei din fișierele de funcții atunci când configurați suport pentru meniuri.

Să începem să construim parametrii funcției meniului personalizat, presupunând că am înregistrat o locație tematică numită "primar".

 $ params = array ('theme_location' => 'primar');

Meniul

Acest parametru este utilizat pentru a defini manual meniul care trebuie utilizat. În exemplul nostru, setăm doar o locație de meniu generică și nu definim una exactă de utilizat, dar dacă vrem să spunem că funcția utilizează un meniu numit "Primary Navigation", parametrii noștri ar arăta astfel:

 $ params = array ('theme_location' => 'primar', 'meniu' => 'Navigare primară');

recipient

În mod implicit, meniul nostru va fi înfășurat într-un div, dar dacă sunteți ca mine, de obicei, nu aveți nevoie de acest lucru și probabil doriți să reduceți suma din divuri și alte etichete folosite pentru a vă menține codul cât mai ordonat posibil. De asemenea, puteți utiliza acest parametru pentru a defini o etichetă diferită, cum ar fi html5

sau