Wsparcie » Motywy » 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..

Viewing 4 replies - 1 through 4 (of 4 total)
  • Thread Starter gameoholik

    (@gameoholik)

    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

    Thread Starter gameoholik

    (@gameoholik)

    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' ) );
    ?>
Viewing 4 replies - 1 through 4 (of 4 total)
  • Temat ‘Inne menu na statycznych stronach, problem z wp_nav_menu’ jest zamknięty na nowe odpowiedzi.