Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Puchar WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Jak dodać własne menu nawigacji w motywie WordPress?

W WPBeginner pomogliśmy niezliczonym klientom dostosować ich witryny WordPress, aby poprawić wrażenia użytkownika, wzmocnić branding i zwiększyć konwersje. Przekonaliśmy się, że dobrze zaprojektowane, jedyne w swoim rodzaju menu nawigacyjne może pomóc zwiększyć zaangażowanie i zatrzymać użytkowników na twojej witrynie na dłużej.

Problem polega na tym, że wszystkie motywy WordPress mają ustawione miejsca, w których można wyświetlać menu nawigacyjne, więc zmiana tego może być trudna. Jest to szczególnie prawdziwe, jeśli jesteś początkującym, ponieważ modyfikowanie plików motywu jest delikatnym procesem.

Jeśli korzystasz z motywu blokowego, możesz to zrobić za pomocą Edytora całej witryny. Z naszego doświadczenia wynika jednak, że istnieją lepsze opcje, które sprawdzą się w przypadku wszystkich rodzajów motywów.

Na przykład, jeśli chcesz zaawansowanych konfiguratorów, możesz użyć potężnego kreatora stron, takiego jak SeedProd. A jeśli szukasz prostego sposobu na użycie własnego konfiguratora, WPCode jest zdecydowanie najlepszym wyborem.

W tym artykule pokażemy, jak dodać własne menu nawigacyjne do dowolnego obszaru twojego motywu WordPress. Przeprowadzimy cię przez 3 różne opcje, abyś mógł wybrać poradnik, który jest odpowiedni dla twoich potrzeb.

How to add custom navigation menus in WordPress themes

Dlaczego warto dodawać własne menu nawigacyjne w motywach WordPress?

Menu nawigacyjne to lista odnośników kierujących do ważnych obszarów twojej witryny internetowej. Ułatwiają one odwiedzającym znalezienie interesujących treści, co może zwiększyć liczbę odsłon i zmniejszyć współczynnik odrzuceń w WordPress.

Dokładne położenie menu będzie się różnić w zależności od twojego motywu WordPress. Większość motywów ma kilka opcji, dzięki czemu można tworzyć różne menu i wyświetlać je w różnych lokalizacjach.

Aby zobaczyć, gdzie można wyświetlać menu w twoim obecnym, aktualnym motywie WordPress, po prostu przejdź do Wygląd ” Menu, a następnie spójrz na sekcję „Miejsce wyświetlania”.

Poniższy obrazek przedstawia lokalizacje, które są obsługiwane przez motyw Astra WordPress.

The menu locations in the popular Astra theme

Czasami możesz chcieć wyświetlić menu w obszarze, który nie jest wymieniony jako „Wyświetlane położenie” w twoim motywie.

Mając to na uwadze, przyjrzyjmy się, jak dodać własne menu nawigacyjne do dowolnego obszaru twojego motywu WordPress. Skorzystaj z poniższych odnośników, aby przejść do preferowanej metody:

Metoda 1: Korzystanie z pełnego edytora witryny (tylko motywy blokowe)

Jeśli korzystasz z motywu blokowego, takiego jak ThemeIsle Hestia Pro, możesz dodać własne menu nawigacyjne za pomocą Full Site Editing (FSE) i edytora bloków.

Więcej szczegółów można znaleźć w naszym artykule na temat najlepszych motywów WordPress do edycji całej witryny.

Ta metoda nie działa z każdym motywem i nie pozwala na dostosowanie każdej części menu. Jeśli chcesz dodać całkowicie dostosowane menu do dowolnego motywu WordPress, zalecamy użycie wtyczki do tworzenia stron.

Jeśli korzystasz z motywu opartego na blokach, przejdź do sekcji Wygląd Edytor.

Opening the WordPress full-site editor (FSE)

Domyślnie pełny edytor witryny wyświetla szablon główny twojego motywu, ale możesz dodać menu nawigacyjne do dowolnego obszaru.

Aby zobaczyć wszystkie dostępne opcje, wystarczy wybrać opcję „Szablony”, „Wzorce” lub „Strony”.

Adding a custom navigation menu to a WordPress block-based theme

Możesz teraz kliknąć szablon, fragment szablonu lub stronę, na której chcesz dodać własne menu nawigacyjne.

WordPress wyświetli teraz podgląd szablonu. Aby edytować ten szablon, kliknij małą ikonkę ołówka.

Adding a navigation menu to a 404 page template

Następnym krokiem jest dodanie bloku nawigacji do obszaru, w którym chcesz wyświetlić twoje menu.

W lewym górnym rogu kliknij niebieski przycisk „+”.

Adding blocks to your WordPress theme

Teraz przejdź dalej i wpisz „Nawigacja” w pasku wyszukiwania.

Gdy pojawi się blok „Nawigacja”, po prostu przeciągnij go i upuść na twój układ.

The WordPress Navigation block

Następnie kliknij, aby wybrać blok Nawigacja.

Jeśli utworzyłeś już menu, które chcesz wyświetlić, kliknij, aby wybrać blok Nawigacja. W menu po prawej stronie kliknij ikonkę z trzema kropkami obok „Menu”.

Adding menus to a WordPress theme using the full-site editor (FE)

Następnie możesz wybrać menu z listy rozwijanej.

Inną opcją jest zbudowanie menu wewnątrz edytora całej witryny poprzez dodanie stron, wpisów, własnych odnośników i innych. Aby utworzyć nowe menu, wystarczy kliknąć ikonkę „+”.

How to build a new menu in the block editor

Otwiera to okienko, w którym można dodać dowolny wpis lub stronę i zdecydować, czy odnośniki te mają otwierać się w nowej karcie.

Możesz także dodać pasek wyszukiwania do menu WordPress, dodać ikonki mediów społecznościowych i nie tylko. W wyskakującym okienku wystarczy wpisać rodzaj bloku, który chcesz dodać do menu i wybrać odpowiednią opcję, gdy się pojawi.

Adding a search bar to a WordPress navigation menu

Następnie można skonfigurować ten blok za pomocą ustawień na mini pasku narzędzi i w menu po prawej stronie. Wystarczy powtórzyć te kroki, aby dodać więcej elementów do menu.

Gdy będziesz zadowolony z wyglądu menu, po prostu kliknij przycisk „Zapisz”.

How to add custom navigation anywhere in a WordPress theme

Twoja witryna będzie teraz korzystać z nowego szablonu, a klienci będą mogli korzystać z własnego menu nawigacyjnego.

Metoda 2: Korzystanie z wtyczki Page Builder (działa ze wszystkimi motywami)

Pełny edytor witryn umożliwia dodawanie menu do motywów opartych na blokach. Jeśli jednak chcesz dodać zaawansowane, w pełni konfigurowalne menu do dowolnego motywu WordPress, będziesz potrzebować wtyczki do tworzenia stron.

SeedProd to najlepsza na rynku wtyczka do tworzenia stron WordPress, która pozwala dostosować każdą część twojego menu nawigacyjnego.

Mamy duże doświadczenie w korzystaniu z tego narzędzia do tworzenia własnych menu nawigacyjnych, stron docelowych i wielu innych. Aby uzyskać więcej informacji, zapoznaj się z naszą pełną recenzją SeedProd.

Jeśli chodzi o strony, SeedProd zawiera ponad 350 profesjonalnie zaprojektowanych szablonów, których możesz użyć jako punktu wyjścia. Po wybraniu szablonu możesz dodać własne menu nawigacyjne do twojej witryny za pomocą gotowego bloku Nav Menu SeedProd.

Najpierw należy zainstalować i włączyć wtyczkę SeedProd. Aby uzyskać więcej informacji, zobacz nasz przewodnik krok po kroku, jak zainstalować wtyczkę WordPress.

Uwaga: Istnieje również darmowa wersja SeedProd, która umożliwia tworzenie własnych menu nawigacyjnych bez pisania kodu. Jednak w tym przewodniku będziemy używać SeedProd Pro, ponieważ ma on blok Nav Menu, a także dodatkowe szablony i zaawansowane funkcje.

Po włączaniu wtyczki, SeedProd poprosi o twój klucz licencyjny.

SeedProd license key

Informacje te można znaleźć na Twoim koncie w witrynie internetowej SeedProd. Po wpiszeniu klucza kliknij przycisk „Zweryfikuj klucz”.

Gdy już to zrobisz, przejdź do SeedProd ” Landing Pages i kliknij przycisk „Utwórz nową stronę docelową”.

SeedProd's page design templates

Możesz teraz wybrać szablon dla twojej własnej strony.

Aby pomóc w znalezieniu odpowiedniego projektu, wszystkie szablony SeedProd są podzielone na różne rodzaje kampanii, takie jak kampanie ” coming soon ” i „lead squeeze”. Możesz nawet użyć szablonów SeedProd, aby ulepszyć twoją stronę 404.

The SeedProd template library

Aby przyjrzeć się bliżej dowolnemu szablonowi, po prostu najedź na niego kursorem myszy, a następnie kliknij ikonkę lupy.

Gdy znajdziesz projekt, którego chcesz użyć, kliknij „Wybierz ten szablon”.

Choosing a SeedProd template for your WordPress website

We wszystkich naszych obrazkach używamy szablonu „Black Friday Sales Page”, ale możesz użyć dowolnego szablonu.

Po wybraniu szablonu wpisz nazwę tej własnej strony. SeedProd automatycznie utworzy adres URL na podstawie tytułu strony, ale można go zmienić na dowolny inny.

Na przykład możesz dodać odpowiednie słowa kluczowe, aby pomóc wyszukiwarkom zrozumieć, o czym jest strona. Może to poprawić Twoje WordPress SEO i pomóc wyszukiwarce pokazać stronę osobom, które szukają treści takich jak Twoja.

Po wpiszeniu tych informacji kliknij przycisk „Zapisz i rozpocznij edycję strony”.

Creating a new page using SeedProd

Większość szablonów zawiera już pewne bloki, które są rdzeniem wszystkich układów strony SeedProd.

Aby dostosować blok, wystarczy kliknąć, aby wybrać go w edytorze strony.

Pasek narzędzi po lewej stronie pokaże teraz wszystkie ustawienia dla tego bloku. Na przykład na poniższym obrazku zmieniamy tekst wewnątrz bloku „Nagłówek”.

Editing a headline in SeedProd

Możesz formatować tekst, zmieniać jego wyrównanie, dodawać odnośniki i nie tylko, korzystając z ustawień w menu po lewej stronie.

Jeśli wybierzesz kartę „Zaawansowane”, uzyskasz dostęp do jeszcze większej liczby ustawień. Możesz na przykład sprawić, by blok naprawdę się wyróżniał, dodając cienie i animacje CSS.

Aby utworzyć nowe bloki do twojego projektu, po prostu znajdź dowolny blok w menu po lewej stronie, a następnie przeciągnij go na stronę. Jeśli chcesz usunąć blok, kliknij, aby go zaznaczyć, a następnie użyj ikonki kosza.

Removing blocks from a custom layout

Ponieważ chcemy utworzyć własne menu nawigacyjne, przeciągnij blok „Nav Menu” na stronę.

Spowoduje to utworzenie menu nawigacyjnego z jednym domyślnym elementem „Informacje”.

Adding a custom navigation menu to a WordPress layout

Możesz teraz utworzyć nowe menu w edytorze SeedProd lub wybrać menu, które już utworzyłeś w kokpicie WordPress.

Aby wyświetlić wcześniej utworzone menu, kliknij przycisk „Menu WordPress”. Możesz teraz otworzyć menu rozwijane „Menu” i wybrać dowolną opcję z listy.

How to create a menu using SeedProd

Następnie można zmienić wielkość litery, wyrównanie tekstu i inne elementy, korzystając z ustawień w menu po lewej stronie.

Jeśli zamiast tego chcesz utworzyć nowe menu wewnątrz SeedProd, wybierz przycisk „Proste”.

How to create a navigation menu using SeedProd

Następnie kliknij, aby rozwinąć element „About”, który SeedProd tworzy domyślnie.

Otwiera to kilka kontrolek, w których można zmienić tekst i dodać adres URL, do którego będzie odnośnik.

Adding a custom navigation menu to a landing page

Domyślnie odnośnik będzie „dofollow” i otworzy się w tym samym oknie przeglądarki. Ustawienia te można zmienić za pomocą pól wyboru w sekcji „Adres URL odnośnika”.

Na poniższym obrazku tworzymy odnośnik „nofollow”, który otworzy się w nowym oknie. Więcej informacji na ten temat można znaleźć w naszym przewodniku dla początkujących na temat odnośników nofollow.

Marking a menu item as no-follow

Aby dodać więcej pozycji do menu, wystarczy kliknąć przycisk „Dodaj nową pozycję”.

Następnie można dostosować każdy z tych elementów, wykonując ten sam proces opisany powyżej.

Adding items to a custom navigation menu

Menu po lewej stronie zawiera również ustawienia zmieniające wielkość liter i wyrównanie tekstu.

Możesz nawet utworzyć separator, który pojawi się między każdą pozycją w menu.

Creating a divider for your custom navigation menu

Następnie przejdź do karty „Zaawansowane”. Tutaj możesz zmienić kolory menu, odstępy, typografię i inne zaawansowane opcje.

W miarę wprowadzania zmian podgląd na żywo będzie aktualizowany automatycznie, dzięki czemu możesz wypróbować różne ustawienia, aby zobaczyć, co wygląda dobrze w twoim projekcie.

The SeedProd advanced customization settings

Domyślnie SeedProd wyświetla to samo menu na urządzeniach mobilnych i stacjonarnych. Jednak urządzenia mobilne mają zazwyczaj znacznie mniejsze ekrany niż komputery stacjonarne.

Mając to na uwadze, warto utworzyć osobne menu do wyświetlania na urządzeniach mobilnych. Na przykład, możesz użyć pionowego układu, aby użytkownicy mobilni nie musieli przewijać strony na boki. Możesz również wyświetlić mniej odnośników na smartfonach i tabletach.

Aby utworzyć menu dostosowane do urządzeń mobilnych, wystarczy zaprojektować menu zgodnie z tym samym procesem opisanym powyżej. Następnie wybierz kartę „Zaawansowane” i kliknij, aby rozwinąć sekcję „Widoczność dla urządzeń”.

How to create a mobile-only menu in SeedProd

Można teraz włączyć pokaz slajdów „Ukryj na pulpicie”.

Teraz SeedProd pokaże to menu tylko użytkownikom mobilnym.

Hiding a menu on desktop devices

Kiedy będziesz zadowolony z wyglądu twojego własnego menu, nadszedł czas, aby je opublikować.

Wystarczy kliknąć strzałkę rozwijaną obok opcji „Zapisz”, a następnie wybrać opcję „Opublikuj”.

How to publish a custom page layout

Teraz, jeśli przejdziesz na swojego bloga WordPress, zobaczysz własne menu nawigacyjne w działaniu.

Metoda 3: Tworzenie własnego menu nawigacji w WordPress przy użyciu kodu (zaawansowane)

Jeśli nie chcesz konfigurować wtyczki kreatora stron, możesz dodać własne menu nawigacyjne za pomocą kodu. Często można znaleźć przewodniki z instrukcjami dodawania własnych fragmentów kodu do pliku functions.php twojego motywu.

Nie zalecamy jednak tej metody, ponieważ nawet niewielki błąd w twoim kodzie może spowodować wiele typowych błędów WordPressa lub nawet całkowicie zepsuć twoją witrynę. Utracisz również własny kod, gdy zaktualizujesz swój motyw WordPress.

Dlatego zalecamy korzystanie z WPCode. Jest to najłatwiejszy i najbezpieczniejszy sposób dodawania własnego kodu w WordPressie bez konieczności edytowania jakichkolwiek rdzennych plików WordPressa.

Uwaga: WPCode można wykorzystać na wiele różnych sposobów, aby bezpiecznie dostosować twoją witrynę WordPress. Posiada ona wbudowaną bibliotekę fragmentów kodu i obsługuje wszystkie najważniejsze języki WordPress, w tym PHP, JavaScript, CSS i HTML. Aby uzyskać więcej informacji na temat wtyczki, zapoznaj się z naszą pełną recenzją WPCode.

Pierwszą rzeczą, którą musisz zrobić, to zainstalować i włączyć darmową wtyczkę WPCode. Aby uzyskać więcej informacji, zobacz nasz przewodnik krok po kroku, jak zainstalować wtyczkę WordPress.

Po włączaniu, przejdź do Code Snippets Add Snippet w twoim kokpicie WordPress.

Adding a code snippet using the WPCode WordPress plugin

Tutaj zobaczysz wszystkie gotowe fragmenty kodu, które możesz dodać do swojej witryny. Obejmują one fragment kodu, który pozwala całkowicie wyłączyć komentarze, przesyłać rodzaje plików, których WordPress zwykle nie pomaga technicznie, wyłączyć strony załączników i wiele więcej.

Aby utworzyć własny fragment kodu, najedź kursorem myszy na „Dodaj własny kod”, a następnie kliknij „Użyj fragmentu kodu”.

Adding a custom snippet to your WordPress website

Na początek wpisz tytuł własnego fragmentu kodu. Może to być cokolwiek, co pomoże zidentyfikować fragment kodu w twoim kokpicie WordPress.

Następnie otwórz listę rozwijaną „Rodzaj kodu” i wybierz „Fragment kodu PHP”.

Adding a custom navigation menu using WPCode

Gdy już to zrobisz, po prostu wklej poniższy fragment kodu do edytora kodu:

function wpb_custom_new_menu() {
  register_nav_menu('my-custom-menu',__( 'My Custom Menu' ));
}
add_action( 'init', 'wpb_custom_new_menu' );

Spowoduje to utworzenie nowego położenia menu w twoim motywie o nazwie „Moje własne menu”. Aby użyć innej nazwy, wystarczy zmodyfikować fragment kodu.

Jeśli chcesz dodać więcej niż jedno własne menu nawigacyjne do twojego motywu, po prostu dodaj dodatkową linię do fragmentu kodu.

Na przykład tutaj dodajemy dwa nowe położenia menu do naszego motywu, o nazwach „Moje własne menu” i „Dodatkowe menu:”.

function wpb_custom_new_menu() {
  register_nav_menus(
    array(
      'my-custom-menu' => __( 'My Custom Menu' ),
      'extra-menu' => __( 'Extra Menu' )
    )
  );
}
add_action( 'init', 'wpb_custom_new_menu' );

Następnie przewiń do opcji „Wstaw”. Jeśli nie jest jeszcze wybrana, wybierz metodę „Automatyczne wstawienie”, aby WPCode dodał fragment kodu w całej twojej witrynie.

Następnie otwórz menu rozwijane „Lokalizacja” i kliknij „Uruchom wszędzie”.

Running a custom code snippet

Następnie możesz przewinąć ekran do góry i kliknąć przełącznik „Nieaktywne”, aby zmienił się na „Aktywne”.

Na koniec kliknij „Zapisz”, aby uruchomić ten fragment kodu.

Inserting a custom navigation menu using the WPCode WordPress plugin

Następnie przejdź do Wygląd ” Menu i spójrz na obszar „Wyświetl lokalizację”.

Powinieneś teraz zobaczyć nową opcję „Moje własne menu”.

A custom navigation menu created using the WPCode plugin

Możesz teraz przejść dalej i dodać kilka pozycji menu do nowego położenia. Aby uzyskać więcej informacji, zapoznaj się z naszym przewodnikiem krok po kroku na temat dodawania menu nawigacyjnych dla początkujących.

Kiedy jesteś zadowolony z twojego menu, następnym krokiem jest dodanie go do twojego motywu WordPress.

Dodawanie własnego menu nawigacyjnego do twojego motywu WordPress

Większość witryn internetowych wyświetla menu nawigacyjne bezpośrednio pod sekcją nagłówka. Oznacza to, że menu jest jedną z pierwszych rzeczy, które widzą odwiedzający, wraz z logo witryny lub tytułem.

Możesz dodać własne menu nawigacyjne do dowolnego położenia, dodając kod do pliku szablonu twojego motywu.

W twoim kokpicie WordPress przejdź do Wygląd ” Edytor plików motywu.

W menu po prawej stronie wybierz szablon, w którym chcesz dodać menu. Na przykład, jeśli chcesz wyświetlić własne menu nawigacyjne w nagłówku twojej witryny internetowej, zazwyczaj wybierasz plik header.php.

The WordPress theme file editor

Aby uzyskać pomoc w znalezieniu odpowiedniego pliku szablonu, zapoznaj się z naszym przewodnikiem na temat tego, jak znaleźć pliki do edycji w twoim motywie WordPress.

Po wybraniu pliku należy dodać funkcję wp_nav_menu i określić nazwę twojego własnego menu.

Na przykład w poniższym fragmencie kodu dodajemy „Moje własne menu” do nagłówka motywu:

wp_nav_menu( array( 'theme_location'=>'my-custom-menu', 'container_class'=>'custom-menu-class' ) );

Po dodaniu kodu kliknij przycisk „Aktualizuj plik”, aby zapisać twoje zmiany.

Editing the WordPress theme files

Teraz, jeśli przejdziesz na swoją witrynę, zobaczysz własne menu w działaniu.

Domyślnie twoje menu będzie wyświetlane jako zwykła lista wypunktowana.

A custom WordPress menu created using code

Niestandardowe menu nawigacyjne można dostosować do własnego motywu WordPress lub marki firmy, dodając niestandardowy kod CSS do witryny.

Aby to zrobić, przejdź do Wygląd ” Konfigurator.

Customizing a WordPress theme

W konfiguratorze motywu WordPress kliknij „Dodatkowe CSS”.

Spowoduje to otwarcie małego edytora kodu, w którym można wpisać rodzaj kodu CSS.

Adding additional CSS to your WordPress theme

Możesz teraz nadać styl twojemu menu za pomocą klasy CSS, którą dodałeś do szablonu motywu. W naszym przykładzie jest to .custom_menu_class.

W poniższym kodzie dodajemy marginesy i dopełnienie, ustawiamy kolor tekstu na czarny i układamy elementy menu w układzie poziomym:

div.custom-menu-class ul {
    margin:20px 0px 20px 0px;
    list-style-type: none;
    list-style: none;
    list-style-image: none;
    text-align:right;
	display:inline-block;
}
div.custom-menu-class li {
    padding: 0px 20px 0px 0px;
    display: inline-block;
} 

div.custom-menu-class a {
    color:#000;
}

Konfigurator WordPress zaktualizuje się automatycznie.

Pokaże teraz, jak menu będzie wyglądać z nowym stylem.

Styling a custom navigation menu

Jeśli jesteś zadowolony z wyglądu menu, kliknij „Opublikuj”, aby wprowadzić twoje zmiany.

Aby uzyskać więcej informacji, zapoznaj się z naszym przewodnikiem na temat stylizacji menu nawigacyjnych WordPress.

Przewodnik eksperta: Zrób więcej dzięki menu nawigacji WordPress

Dzięki WordPress możesz tworzyć wszelkiego rodzaju pomocne i angażujące menu. Mając to na uwadze, oto kilka przewodników ekspertów, które pomogą Ci jeszcze lepiej wykorzystać Twoje menu nawigacyjne:

Mamy nadzieję, że ten przewodnik pomógł ci dowiedzieć się, jak dodać własne menu nawigacyjne w WordPress. Zachęcamy również do zapoznania się z naszymi przewodnikami na temat dodawania przycisków w twoim menu nagłówków WordPress lub podświetlania pozycji menu w WordPress.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Ujawnienie: Nasze treści są wspierane przez czytelników. Oznacza to, że jeśli klikniesz na niektóre z naszych linków, możemy otrzymać prowizję. Zobacz jak WPBeginner jest finansowany, dlaczego to ma znaczenie i jak możesz nas wspierać. Oto nasz proces redakcyjny.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Najlepszy zestaw narzędzi WordPress

Uzyskaj BEZPŁATNY dostęp do naszego zestawu narzędzi - zbiór produktów i zasobów związanych z WordPressem, które każdy profesjonalista powinien mieć!

Reader Interactions

99 komentarzyZostaw odpowiedź

  1. Imran

    I have a custom header built for wordpress when had menu items hardcoded, How can i use the wordpress menu in the header instead of the hardcoded menu ?

  2. cheryl

    I am fairly new to wordpress however I would like to edit a custom menu that we have created as something appears wrong within the menu.

    How do i do this?

  3. Manu

    Excellent tutorial! This was exactly what I needed right now. Within 5 minutes I was able to set up a footer menu in a theme that by default didn’t have any. Thank you so much :)

  4. Munna Hossain

    Helpful article. I am a WordPress user and this tips will help me to add custom navigation menus. Thanks for sharing.

  5. Daniel Keith

    Hi there,
    Great tutorial. How can I apply CSS to this custom menu?
    Though this is a great way to add multiple menus but without proper CSS the website look odd.

  6. Zaheer Abbas

    I m creating my word press theme but menu and widget is not showing in admin panel ???
    is it built in features in word press or i have to create menus and widgets with code plz guide

  7. Tabitha

    How can I make my drop down menu into columns? My current drop down is too long.

  8. Aakash Salunke

    I’m little bit advanced user. My theme supports only one menu. But I want to add one more menu. I have made it but how can I add?

    • WPBeginner Support

      First you will need to register the menu location, then you will need to edit your theme files to display your navigation menu.

      Administrator

  9. bobit

    its worked, thanks for the great post

  10. Aijaz Ansari

    Awsome, tutorial, it really helps a novice like me.
    thanks

  11. Victoria

    Thanks for the article!!! I created my new menu.
    I have a problem though.
    My website has a fixed width, and when I resize the window everything stays in place, exept for the new menu. Min-width is not an option because it’s not exactly the behavior I want.
    How can I make it behave the same way as the rest of the contents of the page?
    Thanks!

  12. Joey

    THANKS! I was looking a long time for this, never thought it was so simple.

  13. Cory

    i have a crazy old theme that didnt support WP 3.0+ menus. This tutorial was so easy. Took me 3 minutes to bring it a little more up to date. thanks so much.

  14. Jacques Goudreau

    Thanks for the tip! Great tut!

  15. Emma

    Where do you even go to make these changes? I can’t see any of those options under the Theme or Theme Options tabs.

    I use the Buenos Theme, but can’t find on the Buenos theme page does it support these changes? I want to put in an Archive menu with a list of all the recipes on my blog… should be easy but proving impossible :(

    • Editorial Staff

      Most themes do support this. Look at Appearance > Menus. This article is for theme designers who want to add this feature in their themes to allow users to add menus from the backend.

      Administrator

  16. Zoe

    I’ve been trying to add a custom class to a singular custom url (to change the color of just one url) in the Top Nav Menus section, but it just adds my class as an extension of the existing class in the output source code and nothing happens.

    Here’s my css code and the source code that is output on my site:

    .myCustomClass { color: #FFFF00; }

    A one-off colored link

    Any suggestions on how to get this to work?

    • Editorial Staff

      Yes add it like color: #ffff00 !important; in that class. This should do the trick.

      Administrator

  17. Jeremy Johnson

    I was able to implement these modifications and the custom menu works. However, the css in my chosen theme doesn’t seem to support sub-menus. The submenu item is always visible, mousing over the parent item does nothing, and the parent menu item is as wide as the wider child item which pushes the other menu items farther to the right than they should be. Any suggestions on making the sub-menu act dynamically? I’m fairly new to CSS.

    • Editorial Staff

      The best place to start would be to take the default Twenty Eleven theme. Use the navigation CSS from there, and start modifying.

      Administrator

    • Cedric

      Still looking for a solution for this.

  18. PauloNeves

    I need help.
    Follow all steps, but in Apparance Panel the option menu not enable.
    When select other theme working.
    How do enable option menu?
    Thanks.
    Paulo Neves

    • wpbeginner

       @PauloNeves You have to add this line in your theme’s functions.php file: add_theme_support( 'menus’ );

  19. Brad

    Thanks for this! Worked awesomely for me and helped my client a lot! – aptdesign 

  20. eeebasic

    That is very helpful me although wordprees 3.3 version released few days ago.

  21. citydan

    I have followed the instructions and this post and the post here (https://www.wpbeginner.com/wp-tutorials/adding-a-second-menu-to-the-twenty-ten-theme/), and figured out how to get my CSS to make the menu appear correctly, but the child items (sub menu items) are not appearing. I have them set up correctly in the menus editor, but on the site they do not show. They are not hidden by CSS because they are not there in the source code of the page.

    Any ideas why my menu sub-items are not showing?

  22. GourabMalla

    Hi,

    I have added the custom menu in top navigation but want to know how can I active the “Current Page Class”.

    I’m using WordPress 3.2

    Thanks

    Gourab

  23. DanFlynnDesign

    Thank you! Love how this is all dynamic so the client can edit if needed, plus able to state which is the current page and apply hover effect! EXACTLY what I was looking for!

  24. asharperrazor

    I have tried this many times. I have an old wordpress theme. So old I’m not even sure what version of wrodpress it was written for. Anyway, I can get the functions part to work. I can save the correct menu. I can put the code into other parts of my website, say the footer, although it displays as a hierarchy list and not horizontally.

    Won’t display in the top nav menu. Do I need a new theme or is it possible to edit my current theme to allow the new menu function?

    Thanks in advance. The website is http://www.asharperrazor.com

  25. JamesGeorge

    I implemented this with NO problems-thank you! I took the „nav menu” code and put it in the div where my client’s theme was calling the list of pages. I basically replaced it with your code from above and uploaded it, and the css kept it in the same style. It looks great and functions perfectly. AWESOME!

  26. ÁlvaroBenavides

    I really need help implementing the CSS of the classes, so please notify when u finish!

  27. Bec

    Great post – thank you!

    I have implemented as above and my menu items are showing on site only problem is that each page is empty?!

    any ideas?

    • Editorial Staff

      Sounds like a PHP error. Please validate your PHP to make sure there is no error.

      Administrator

  28. Paul

    I have created custom navigation menus a couple of times. What is weird is that after I create and save them, they appear for a while and then the navigation bar returns to 2 tabs only as if the settings are automatically overwritten. On sites with the same template were I never created a custom bar they display correctly.
    Any ideas?

  29. Narendra Choudhary

    You can define custom classes to each navigation, and then add image in the background. You can even use CSS (text-indent) property to get rid of the Menu text if you want.
    Reply

  30. Ram

    I have a question on nav menu,
    is there any way to add the image to the list of navigation menus..

    Thanks,
    Ram

    • Editorial Staff

      You can define custom classes to each navigation, and then add image in the background. You can even use CSS (text-indent) property to get rid of the Menu text if you want.

      Administrator

      • Ram

        thanks for your response but i need more clearly that custom menu image for the wordpress.
        Im using wp_list_categories(’exclude=4,7&title_li=’); to show the navigational menu so is it any possibility to add the different images to the different menu button. Im trying the CSS but it never works for me :(

        Thanks,
        Ram

        • Editorial Staff

          Yes it is possible to add different images with the custom menu. The one you are using is not the menu that we are talking about in this article.

  31. Julie @ Inspired to Write

    Can you add code to make it look more presentable (fonts, buttons, size, etc)? If so, can you give me an example and where to put this code? Thanks!

    • Editorial Staff

      That is a CSS related question. You will have to add the font size in the appropriate classes in the CSS file. We will be doing a writeup on the CSS styles soon.

      Administrator

  32. Chris

    Question about the menu handling.

    I have a menu that is right aligned, so the menu items show up in reverse order.

    Is there a way to sort the menu_order in REVERSE?

    so: sort_column’ => 'menu_order’ would have something added to reverse the order.

    Thanks!

    • Editorial Staff

      Just because they are right aligned, shouldn’t make it appear in reverse order. To fix that, you need to change your CSS rather than reversing the hook. Make a container div that is aligned right, and then make the list tags float left.

      Administrator

  33. Julie

    Have followed instructions but after creating menus and adding appropriate categories to use, I can’t see them in my nav bar – any ideas what I have done wrong?

    • Editorial Staff

      Have you pasted the codes in your header.php or wherever that menu should appear?

      Administrator

  34. dan

    You also need to add this to your functions.php file in order for you to use the menus

    register_nav_menus( array(
    'primary’ => __( 'Main Navigation’, 'twentyten’ ),
    ) );

    • Editorial Staff

      Certainly a thing that you should have when releasing free themes, but for custom themes it all depends on what you need. Sometimes you don’t have to register locations.

      Administrator

  35. errr

    i’m soooo not following … could u be more clear where i would plug this code (add_theme_support( 'menus’ );) into the functions.php file?

    i’m totally lost

    • Editorial Staff

      Somewhere within the php tags. If you do not have PHP experience, we recommend you hire a professional.

      Administrator

      • BanyanTree

        If you are going to write articles for newbies, it follows you should answer simple questions. Otherwise, just pay for ads to push your business and save the pretense.

        • wpbeginner

          @BanyanTree Adding codes to functions.php file is not that hard. You paste it within the php tags. We have written an articles like this:https://www.wpbeginner.com/beginners-guide/beginners-guide-to-pasting-snippets-from-the-web-into-wordpress/ But its just impossible to link to that one article from all of our articles. When someone asks you how do I change the background in CSS and you tell them that you add background: #000 or another hexcode in the CSS property thats help enough.Now if they ask where in the CSS file I paste that, then that is something you need to know before hands. This site is not a PHP for Dummies site or CSS for dummies site. We do our best to help as much people as possible for FREE.

        • BanyanTree

          @wpbeginner@BanyanTree You don’t need to link to articles, no one asked for that. Three words answers his question; „at the end,” which is easier to type than a snide remark. Keep in mind, you named your site; „wpbeginner,” and if that’s the audience you seek, cater accordingly.

        • wpbeginner

          @f1mktsol Yes and the site has grown beyond the audience we initially started with. This site has evolved. That is why we have categories… The word „beginner” is being used on a relative scale.

          We have articles for Very Newbies who are just users in our Beginners Guide Category… We also have articles in our WordPress plugins category that are catered to that audience.If you are in our WP Themes category, then the articles are written for beginning theme developers. They are beginners in the developer area. Same with the tutorials.

          Hope that explains it.

        • f1mktsol

          @wpbeginner If you’ve outgrown your name, you should change it to suit the audience you seem to prefer. Consider consulting a professional.

  36. Skubeedoo

    I added add_theme_support( 'menus’ );
    and saw no option in the admin panel [where do i look?] I’m using intrepidity theme. I’m a noob, so it might be right in front of me and don’t know the difference. I have a website that has a WP inside it and want to be able to navigate out of WP and back to my main URL. All I need is a „Home” nav link.
    Thanks in advance.

  37. ianarosh

    friend you have an awesome site and I am glad i’ve found it!
    I was killing my head to figure how to add the costum menu and it was easy after i’ve seen this! Simply amazing.

    A sugestion ever pondered in making posts about blog/server security? (not sure if you’ve had already need to explore more :O)

    Best regards and keep the good work mate!

  38. Charles

    Can any of you tell me how to add support for multiple menus in the functions php file. I want to include two set’s of menus

    • Editorial Staff

      You don’t need to have two set of functions.php… Just call the main function. Create multiple menus using the user interface in wp-admin. Then you would have to call the menus in the php code.

      Administrator

  39. Jamie

    Just to let you know but the following:

    „add_theme_support( 'nav-menus’ );”

    Has changed in the final release to:

    „add_theme_support( 'menus’ );”

    Thanks! :)

  40. Jacob

    Great. Just what I was looking for. How do you add the menu slug to the function?

  41. Chris Creed

    Thanks for this – I’m currently playing around with the new menu system – it’s a great additional feature that’s going to make things so much easier. I develop themes and get quite a few support requests from people wanting to create custom navigation sections on their site – the new menus should hopefully help to simply things a lot (especially for people with little WordPress experience).

  42. Angie

    I am wondering how to remove HOME from my nav menu using WP 3.0 beta. Do I edit the wp_nav_menu function or is there some other way?

    If I edit the function, can you provide instruction?

  43. Kevin

    Its a pity there’s no way to add the „home” page to the menu from within the menu builder. This is a major flaw.

    • Editorial Staff

      Why not? You can create a custom navigation link called Home and add your homepage URL to it.

      Administrator

  44. Noor

    I am also testing WordPress 3.0 Beta and I found few bad things in Menus…e.g it is inconsistent and hope till the final release it will become consistent

Zostaw odpowiedź

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszymi polityka komentarzy, a Twój adres e-mail NIE zostanie opublikowany. NIE używaj słów kluczowych w polu nazwy. Przeprowadźmy osobistą i konstruktywną rozmowę.