Wśród wielu nowości, jakie pojawiły się w WordPressie 3.0 Thelonious, najbardziej spodobała mi się funkcja, pozwalająca na proste tworzenie menu.

Do tej pory sprawę załatwiał kod w header.php w rodzaju < ?php wp_list_pages('title_li=&depth=0'); ?>. Nie było to takie złe rozwiązanie, ale wyobraźcie sobie sytuację, w której musicie szybko zmienić coś w menu, a nie możecie edytować odpowiedniego pliku (bo nie nadaliście mu odpowiednich praw), nie macie dostępu do FTP albo musicie prosić o pomoc osobę, która nie zna się na funkcjach WordPressa. Koniec z tym :)

Zaczynamy od edytowania pliku functions.php, znajdującego się w katalogu ze skórką (jeśli takowego nie ma – tworzycie go). Umieszczamy w nim ten kawałek kodu:

add_action( 'init', 'register_my_menu' );
function register_my_menu() {
register_nav_menu( 'primary-menu', __( 'Primary Menu' ) );
}

Uwaga: jeżeli to jedyny kod, jaki znajduje się w pliku functions.php, to pamiętajcie o dodaniu < ? na początku i ?> na końcu pliku.

Po zapisaniu pliku przechodzimy na podstronę Menu (w zakładce Wygląd). Tam tworzymy nowe menu o nazwie identycznej z podaną w pliku functions.php (w moim przypadku Primary Menu).

W menu mogą się znaleźć trzy typy linków:

  • strony, utworzone przez nas na blogu
  • kategorie, utworzone przez nas na blogu
  • zewnętrzne linki

Elementy można przestawiać tak jak widgety; można także przesuwać je w poziomie, czyniąc jedne strony „potomkami” drugich.

Po zapisaniu menu pozostało już tylko jedno; zmiana kodu odpowiadającego za wyświetlanie menu na stronie. W większości przypadków jest to plik header.php.

Jeżeli mamy (tak jak ja) tylko jedno menu, wystarczy tylko zastąpienie dotychczasowej funkcji tą: < ?php wp_nav_menu(); ?>.

W czasie zmiany menu (i pisania tej instrukcji) posiłkowałem się dwoma artykułami, które radzę przestudiować wszystkim osobom, pragnącym wycisnąć coś więcej z wordpressowego menu:

Podziel się tekstem
  • Print
  • del.icio.us
  • Facebook
  • Twitter
  • RSS
  • Wykop