Wyświetlanie menu za pomocą funkcji wp_nav_menu()

Wyświetlanie menu nawigacyjnego to jeden z kluczowych elementów budowy struktury strony internetowej. W WordPressie do tego celu służy funkcja wp_nav_menu(), która umożliwia wyświetlenie konkretnego menu w dowolnym miejscu witryny.

Ważne aspekty funcji wp_nav_menu():

  1. Dostosowanie nawigacji: Funkcja ta umożliwia tworzenie spersonalizowanych menu, które idealnie pasują do struktury witryny. Możemy zdefiniować, jakie elementy mają się w nim znaleźć, jakie mają mieć etykiety i w jakiej kolejności mają być wyświetlane.
  2. Dodatkowe opcje: Oprócz standardowego wyświetlania menu, funkcja wp_nav_menu() oferuje wiele opcji dostosowania. Możemy np. określić, jakie elementy mają być wyświetlane, jakie klasy CSS mają być przypisane do poszczególnych elementów, czy też jakie atrybuty HTML mają być dodane.

Wyświetlanie menu w szablonie

Poniżej znajduje się praktyczny przykład, który ilustruje, jak wyświetlić konkretne menu w szablonie:

<?php
// Pobieramy menu o nazwie "Główne menu"
$menu_args = array(
    'theme_location' => 'glowne-menu', // Nazwa zarejestrowanego menu
    'container' => 'nav', // Element HTML, w którym ma być wyświetlone menu
    'container_class' => 'main-menu', // Klasa CSS dla kontenera
    'menu_class' => 'menu-list', // Klasa CSS dla listy menu
    'echo' => true, // Czy wyświetlać menu od razu (true) czy zwrócić jako zmienną (false)
);

wp_nav_menu( $menu_args );
?>

Teraz przejdźmy do szczegółów:

  • theme_location: To jest nazwa zarejestrowanego menu, które chcemy wyświetlić. W tym przypadku używamy menu o nazwie “Główne menu”. Upewnij się, że zarejestrowałeś to menu wcześniej za pomocą funkcji register_nav_menus().
  • container: Określa, w jakim elemencie HTML ma być wyświetlone menu. W tym przypadku używamy tagu <nav>.
  • container_class: Jest to klasa CSS przypisana do kontenera menu. Możesz dostosować tę klasę według swoich potrzeb.
  • menu_class: To jest klasa CSS przypisana do listy menu. Możesz również dostosować tę klasę.
  • echo: Określa, czy menu ma być wyświetlone od razu (true) czy zwrócone jako zmienna (false). W tym przypadku ustawiliśmy na true, więc menu zostanie wyświetlone bezpośrednio na stronie.

Pamiętaj, że przed użyciem tego kodu musisz stworzyć swoje menu za pomocą funkcji register_nav_menus(). To pozwoli WordPressowi wiedzieć, jakie menu są dostępne.