How to Create a Navigation Menu in WordPress 2025
If you have a site, one of the first things you need to think is the nav menu. A navigation menu is like a script for your visitors. Without it, users can get lost, frustrated and leave their site without finding what they want.
In simple words – a good menu improves the user experience, keeps visitors longer on your site, and makes your website look professional.
By 2025, creating and customizing a WordPress navigation menu became easier. If you use Astra, Oceanwp, Hello or Generatepress, even beginners can configure menus without coding knowledge.
This guide will guide it in everything: creating a menu, correcting problems like “the Astra Headring menu not showing”, customizing your menu and even adding a logo.
Why the navigation menus are important
Think that way – visiting a site without a menu is like entering a store without signs. You wouldn’t know where to go, right? This is why nav menus are crucial.
Here it is because they matter:
- Best User Experience: Visitors can easily find the page they are looking for.
- Professional appearance: A clean menu improves your site’s design.
- SEO Benefits: Research mechanisms can better understand the structure of your site.
- Greater engagement: Clear navigation encourages visitors to explore their site more.
Step by Step Guide: Creating a WordPress Navigation Menu
Let’s break like creating a menu on WordPress in simple steps.
1: Login on the WordPress Admin panel.
Go to your wpskillz.com/wp-admin and log in
2: Go to Menus.
In the left sidebar, click on appearance> menus.
3: Create a new menu.
Click “Create a new menu”, name (as “Main Menu”) and click Create Menu.
4: Add items to the menu.
Choose pages, posts or custom links you want to include. Click Add to the menu.
5: Organize items.
Drag and release the menu items to organize them. You can also create suspended menus moving lightly to the right under a father item.
6: Assign the menu website.
Choose where your menu should appear – Primary menu, header menu or foot menu – depending on your theme.
7: Save Menu.
Click Save Menu. Yes: Congratulations, your navigation menu is ready.
WordPress Navigation Menu Setup (2025)
| Step | Action | Details |
|---|---|---|
| Step 1 | Log in to Dashboard | Go to yoursite.com/wp-admin and enter login details. |
| Step 2 | Open Menu Settings | From sidebar: Appearance > Menus. |
| Step 3 | Create a New Menu | Click Create a new menu, give it a name (e.g., Main Menu). |
| Step 4 | Add Items | Choose Pages, Posts, Categories, or Custom Links → Add to Menu. |
| Step 5 | Arrange Items | Drag & Drop menu items. Use indentation for dropdowns. |
| Step 6 | Assign Location | Select where the menu appears (Header, Footer, Primary). |
| Step 7 | Save Menu | Click Save Menu to publish changes. |
How to Add a Navigation Menu in Astra Theme
Astra is one of WordPress’s most popular themes, because it is light and easy to customize. Many beginners face problems by setting up menus, but here is the simple way:
- Go to the appearance> menus.
- Create or select your menu.
- Roll up to the menu settings and mark the primary menu.
- click Save changes.
Now your menu should appear on Astra’s header.
Astra header menu is not showing – common corrections
If your menu does not appear on Astra, here is what you can do:
- Check the menu location: Make sure the “Primary Menu” is selected in the menu settings.
- Character Settings: Go to Appearance> Customize> header builder and confirm the menu module is active.
- Clean Cache: Clean browser cache cache or cache plug cache cache.
- Deactivate Plugins: Some plugins cause conflicts; disable them temporarily.
- Update Astra Theme: Use the latest version of Astra.
Most of the time, it’s simply a case of the “Primary Menu” option not being selected.
Customizing Menus in Astra Theme
Astra facilitates menu customization. You can:
- Change colors: Go to the appearance> Customize> Global> Colors.
- Adjust the typography: Change the size, style and spacing of the source.
- Activate Adhesive Menu: Keep your menu visible during rolling.
- Mobile Menu: Astra automatically creates a responsive mobile menu you can customize.
Navigation menus on other popular themes
The process of creating menu is similar on other topics, although location names may differ:
OceanWP
- Go to the appearance> menus.
- Create a menu and assign it to the main location of the header.
- Still it in personalizer settings.
Hello Theme (Elementor)
- Use Elementor pro Nav Menu widget inside your header template.
- Adjust design in Elementor pro.
GeneratePress
- Go to appearance> menus and create a menu.
- Assign to primary navigation.
- Customize the appearance> Customize> Layout> Primary Navigation.
How to Add a Logo to WordPress Navbar
The addition of a logo next to your menu makes your site look professional and strengthen your brand. See how to do this in Astra:
- Go to the appearance> Customize>
- Header. Click Site Identity.
- Upload your logo.
- Adjust the position (left, center or embedded).
- Click Save changes.
Advanced Option — Creating a Custom Menu with Coding
For developers, coding allows full control over the menu appearance.
Step 1: Record the menu in functions.php
function mytheme_register_nav_menu() {
register_nav_menu('header-menu', 'Header Menu');
}
add_action('init', 'mytheme_register_nav_menu');
Step 2: Display menu in the theme file
<?php
wp_nav_menu(array(
'theme_location' => 'header-menu',
'container_class' => 'custom-menu-class'
));
?>
Step 3: Style Menu with CSS
.custom-menu-class ul {
list-style: none;
display: flex;
gap: 20px;
}
.custom-menu-class ul li a {
text-decoration: none;
color: #333;
font-weight: bold;
}
This method offers flexibility if you want a completely personalized design.
FAQs
Q1: How do I edit a menu on WordPress?
Go to Appearance> Menus, select your menu, make changes and save.
Q2: Can I add several menus?
Yes, you can create menus for the header, footer and sidebar separately.
Q3: Why is my header astra menu not appearing?
Make sure the “main menu” is selected in appearance> menus.
Q4: Do I need coding to make a menu?
No. WordPress menus work without coding. Coding is for advanced customization.
Q5: Which theme is best for menus – Astra, Oceanwp or Gereatepress?
All three are good. Astra is suitable for beginners, Oceanwp has many features and Generatepress is light and fast.
Final Thoughts
Creating a navigation menu is one of the most important steps in building a site. A clear menu improves user experience, supports SEO, and makes your site look professional. Whether you choose Astra, OceanWP, Hello, GeneratePress, or custom coding, setting up a navigation menu is simple when you follow the right steps.
Start today. Design your menu to match your site style, test it on different devices, and watch your site navigation improve dramatically.