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:





