Inne menu na statycznych stronach, problem z wp_nav_menu
-
Cześć,
mam taki problem: chcę aby na kilku stronach statycznych wyświetlały się różne menu umieszczone w nagłówku, w zależności od tego na jakiej stronie aktualnie jesteśmy.
Chodzi generalnie o to że strona będzie „podzielona” na dwie części, po wybraniu jednej z dwóch różnych lokalizacji firmy przy pomocy przycisku na głównej stronie, mają się pojawić inne menu w zależności jaką lokalizacja zostanie wybrana.W nagłówku header menu jest wywołane przy pomocy tej instrukcji:
<?php wp_nav_menu( array( 'theme_location' => 'main-menu' ) ); ?>
wp_nav_menu pozwala korzystać z menu utworzonego w kokpicie WP, a teraz chciałbym wskazać konkretnie które menu (z tych dwóch utworzonych w kokpicie) ma się wyświetlać na danej statycznej stronie.
No chyba że trzeba użyć do tego innej instrukcji..
-
Może skorzystać tutaj z opcji Multisite? I zrobić sieć z dwóch kopii blogów, gdzie każdy będzie miał inne menu i będzie rządził się swoimi prawami?
Rozwiązanie gameoholika jest najmniej pracochłonne i warte wzięcia pod uwagę. Poczytaj jeszcze o funkcji is_page, możesz dzięki niej uzyskać warunki, że jeżeli jesteś na tej stronie to pokaż to menu, a jeżeli jesteś na tamtej stronie, to pokaż tamto menu. http://codex.wordpress.org/Function_Reference/is_page
Też o tym myślałem, tylko że w tym wypadku widzę problem: jeśli utworzę nową stronę w panelu administracyjnym, to skąd wordpress będzie wiedział jak zastosować funkcję is_page i jakie menu wyświetlić?
is_page musiałbym zastosować do danej nazwy strony lub id strony, a to oznacza że każdą stronę musiałbym robić „ręcznie” a nie przez panel ACP, bo wymagałoby to za każdym razem dodania kolejnego warunku w postaci nowej strony z nową nazwą czy nowym id.<?php if ( is_page( 'strona1' ) ) wp_nav_menu( array( 'menu' => 'menu2' ) ); else if ( is_page( 'strona2' ) ) wp_nav_menu( array( 'menu' => 'menu3' ) ); else wp_nav_menu( array( 'theme_location' => 'main-menu' ) ); ?>
- Temat ‘Inne menu na statycznych stronach, problem z wp_nav_menu’ jest zamknięty na nowe odpowiedzi.