WordPress – Jak wyświetlić wp_nav_menu() bez kontenera i rodzica – sama lista elementów

WordPress domyślnie wyświetla nasze menu (wp_nav_menu) jako nienumerowaną listę <ul> wraz z kontenrem lub wrapperem jak kto woli. Co zrobić jeśli chcemy pozbyć się dwóch elementów i wyświetlić tylko elementy listy wraz linkami? O ile przypadku kontenera nie jest trudne zadanie, gdyż dokumentacja jasno określa parametr o nazwie container, który domyślnie jest elementem <div>. Jeśli chcemy się go pozbyć to wystarczy podać pustą wartość dla tego parametru przy wywołaniu wp_nav_menu(), w taki o to sposób:

[pastacode lang=”php” manual=”wp_nav_menu(array(%0A%20%20’theme_location’%20%3D%3E%20’primary_navigation’%2C%0A%20%20’container’%20%3D%3E%20”%2C%0A))%3B” message=”” highlight=”” provider=”manual”/]

Sprawa nieco komplikuje się jeśli chcemy pozbyć się rodzica <ul>, gdyż w dokumentacji nie jest to jasno napisane. Niemniej wystarczy zajrzeć sobie do pliku wp-includes/nav-menu-template.php i widzimy tak taki oto kawałek kodu:

[pastacode lang=”php” manual=”’items_wrap’%20%3D%3E%20’%3Cul%20id%3D%22%251%24s%22%20class%3D%22%252%24s%22%3E%253%24s%3C%2Ful%3E'” message=”wp-includes/nav-menu-template.php” highlight=”” provider=”manual”/]

W tym momencie wszystko staje się jasne :). Wystarczy podać %3$s jak wartość dla parametru items_wrap i wszystko zadziała tak jak tego oczekujemy. Finalany kawałek kodu może więc wyglądać w taki sposób:

[pastacode lang=”php” manual=”wp_nav_menu(array(%0A%20%20’theme_location’%20%3D%3E%20’primary_navigation’%2C%0A%20%20’container’%20%3D%3E%20”%2C%0A%20%20’items_wrap’%20%3D%3E%20’%253%24s’%2C%0A))%3B” message=”” highlight=”” provider=”manual”/]

Dla ciekawskich link do dokumentacji wp_nav_menu:

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *