Jak dodać menu w wybranym miejscu na stronie?

  • Poziom trudności:

Przypuszczam, że właśnie tworzysz swój pierwszy motyw albo zainstalowałeś gotowca i jesteś w trakcie jego konfiguracji. Dodanie nowego menu do szablonu WordPressa to nic specjalnie trudnego. Musisz tylko pamiętać o kilku podstawowych krokach, a na pewno Ci się uda.

Jeśli zainstalowałeś nowy motyw i nie wyświetla się na nim menu wtedy najlepiej będzie jak sprawdzisz po zalogowaniu się do WordPressa i wejściu do sekcji Wygląd -> Menu. Czasami wystarczy utworzyć nowe menu i dodać kilka podstron. Po zapisaniu i odświeżeniu strony nowe menu będzie widoczne w miejscu wybranym w ustawieniach.

Gdyby się jednak okazało, że sekcja Menu nie wyświetla się w menu Wygląd w panelu administracyjnym, bądź pojawiają się informacje o braku obsługiwania Menu w motywie, wtedy oznacza to, że trzeba dokonać rejestracji nowego menu.

Krok 1

Przejdź do sekcji Wygląd -> Edytor i przejdź do edycji pliku functions.php. Dopisz tam pomiędzy znacznikiem otwarcia i zamknięcia kodu PHP następujący fragment:

if(function_exists('register_nav_menus')) {
	register_nav_menus(array(
		'main_nav' => 'Menu główne'
	));
}

W pierwszej linijce kodu WordPress sprawdzi czy funkcja register_nav_menus istnieje. Jeżeli funkcja jest dostępna, wtedy korzystamy z niej (2 linijka). Jako argument przyjmowana jest tablica (array) w której podajemy klucz, a następnie opis nowo definiowanego menu (3 linijka), którym będziemy mogli się posługiwać podczas wywoływania nawigacji w szablonie.

Być może wygląda to na początku trochę skomplikowanie, ale nie przejmuj się. Wystarczy że skopiujesz ten fragment kodu i będziesz pamiętał, że nazwa opisu to Menu główne.

Krok 2

Kiedy już umieścisz tą funkcję wtedy możesz przejść do Wygląd -> Menu i dodać wszystkie strony, które chcesz umieścić w nawigacji.

Prostą instrukcję jak dodawać strony w ramach struktury menu oraz zmieniać ich nazwy lub kolejność znajdziesz na filmie:

Krok 3

To co pozostało do zrobienia to wywołanie menu. Wystarczy, że wkleisz do pliku header.php w miejscu w którym chcesz umieścić swoje menu następujący fragment kodu:

<?php wp_nav_menu(array(
	'name' => 'Menu Główne'
	));
?>

Powyższa struktura wywołania menu jest najprostszą z możliwych. Równie dobrze wywołanie menu na stronie może wyglądać w sposób następujący:

<?php wp_nav_menu(array(
	'name' => 'Menu Główne',
	'depth'           => 1, //wpisanie tu jedynki sprawia, że menu nie będzie miało stron podrzędnych
	'menu_class'      => 'klasa-menu-pomaga-zmienic-wyglad-w-css'
	));
?>

UDOSTĘPNIJ