Własny motyw WordPress otwiera przed nami całkiem nowe możliwości. Dzięki niemu można przygotować motyw w 100% spełniający nasze oczekiwania.
Aby korzystać z menu na stronie z własnym motywem WordPress należy wykonać następujące czynności:
- Przygotowanie miejsca na menu,
- Dodanie elementów do menu,
- Wyświetlenie menu na stronie.
Przygotowanie miejsca na menu
Aby przygotować miejsce na menu należy w pliku functions.php
umieścić poniższy fragment kodu:
add_action('init', function () {
register_nav_menu('menu-glowne', 'Menu główne');
});
Jest on odpowiedzialny za wywołanie akcji pomiędzy załadowaniem się strony a wysłaniem nagłówków. W uproszczeniu można powiedzieć, że akcja wykona się tuż po załadowaniu strony.
W ciele tej akcji znajduje się funkcja register_nav_menu()
odpowiedzialna za przygotowanie miejsca dla menu. Przyjmuje ona 2 parametry:
- Identyfikator lokalizacji – Należy go zapisać zapisać za pomocą małych liter i łączników. W naszym przypadku jest to
menu-glowne
. - Opis lokalizacji – Można go zapisać w dowolny sposób. W naszym przypadku jest to
Menu główne
.
Dodanie elementów do menu
Aby dodać elementy do menu należy w panelu administratora otworzyć Wygląd > Menu
, wybrać nowo zarejestrowane menu z listy i dodać do niego elementy, po czym należy wskazać w jakim miejscu na stronie ma pojawić się nowo dodane menu.
Wyświetlenie menu na stronie
Aby wyświetlić menu przypisane do przygotowanego miejsca należy w wybranym miejscu szablonu wywołać funkcję wp_nav_menu()
z argumentem zawierającym konfigurację menu. W naszym przypadku będzie to:
wp_nav_menu([
'theme_location' => 'menu-glowne'
]);
W celu dodania klasy do elementu otaczającego menu do argumentu funkcji wp_nav_menu()
należy dodać nową parę klucz=>wartość
z kluczem container_class
i wartością będącą nazwą klasy:
'container_class' => 'custom-menu-class-name',
Cała funkcja wp_nav_menu()
wygląda wtedy następująco:
wp_nav_menu([
'container_class' => 'custom-menu-class-name',
'theme_location' => 'menu-glowne',
]);
Po zapisaniu zmian w pliku functions.php
i odświeżeniu strony nowe menu powinno być widoczne.