Funksjon Eksamen wp_nav_menu

Når WordPress 3 presenterte oss med den nye menyfunksjonaliteten, endret den måten vi så på navigasjonsmenyene for alltid. Ikke lenger var vi bundet til å bruke de vanlige sideoppføringsfunksjonene eller bygge våre egne tilpassede menyfunksjoner for å integrere kategori- og sidemenyer, samt eksterne eller hardt koblede elementer i nav-menyen. Men hvor tilpasset kan vi få med denne nye funksjonaliteten? I denne opplæringen dykker vi dypt inn i alt som wp_nav_menu funksjonen kan gjøre, bruk Walker Class til å legge til en underbeskrivelse, og berør noen av sine relaterte funksjoner.


Parametrene

Funksjonen har flere parametre å jobbe med. Her er standardverdiene som er oppført i WordPress.org Codex:

  , 'menu' =>, 'container' => 'div', 'container_class' => 'meny- meny slug -container', 'container_id' =>, 'menu_class' => 'meny', 'menu_id' = ' >, 'Echo' => true, 'fallback_cb' => 'wp_page_menu', 'før' =>, 'etter' =>, 'link_before' =>, 'link_after' =>, 'items_wrap' => '% 3 $ s',' dybde '=> 0,' walker '=>); ?> 

Tema Beliggenhet

Ved hjelp av denne parameteren kan vi angi et temaområde som deretter brukes på menusiden for å angi en meny som skal fungere i den delen av temaet uten å måtte definere hvilken meny som skal vises der manuelt. Dette er veldig nyttig for tema distributører fordi du kan bruke betingelsessystemer til å bare vise en meny hvis brukeren har definert en meny for den plasseringen. Det eneste andre kravet er at du bruker funksjonen register_nav_menu () å registrere disse stedene. Dette gjøres vanligvis fra funksjonsfiler når du setter opp støtte for menyer.

La oss begynne å bygge våre tilpassede menyfunksjonsparametere, forutsatt at vi har registrert et temaområde kalt "hoved~~POS=TRUNC".

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

Meny

Denne parameteren brukes til å manuelt definere hvilken meny som skal brukes. I vårt eksempel innstiller vi bare en generisk menyplassering og ikke definerer en eksakt en som skal brukes, men hvis vi ønsker å fortelle funksjonen å bruke en meny som heter "Primærnavigering", ser parametrene våre ut slik:

 $ params = array ('theme_location' => 'primary', 'menu' => 'Primærnavigasjon');

Container

Som standard blir vår meny pakket inn i en div, men hvis du er som meg, trenger du vanligvis ikke dette og sannsynligvis vil kutte ned på mengden divs og andre koder brukes til å holde koden så ryddig som mulig. Du kan også bruke denne parameteren til å definere en annen kode, for eksempel en html5

eller