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

How to Add WordPress Navigation Menu in Posts / Pages

Many readers have asked us why their menu isn’t showing up on their website, or if it’s possible to create different menus for specific pages or posts.

The answer to both questions is yes, but the process for adding menus in WordPress posts and pages differs by the theme you use.

To help you out, we’ve come up with this tutorial to show you how to add a WordPress navigation menu to posts and pages.

How to add WordPress navigation menu in posts / pages

Why Add a WordPress Navigation Menu in Posts / Pages?

A navigation menu is a list of links pointing to important areas of a website, usually located in the header. These links can help visitors find what they are looking for, improve the customer experience, and keep people on your WordPress website for longer.

An example of a WordPress navigation menu

The exact location of your menu depends on your WordPress theme. Most themes let you show menus in multiple areas, but sometimes, you may need to add a navigation menu to a post or page.

For example, you may want to add a unique menu linking to all the products mentioned on a specific sales page.

You can also use menus to display specific posts on your WordPress blog. By placing this navigation menu, you can encourage readers to check out more of your content.

With that being said, let’s see how you can add a WordPress navigation menu to any post or page. Simply use the quick links below to jump straight to the method you want to use:

Method 1: Using the Theme Customizer (Classic Themes Only)

If you use a classic theme and your list of page links isn’t showing up on your pages and posts, then most likely, you just haven’t created a menu yet and added it to your theme’s menu locations.

But don’t worry, the process is pretty simple. First, you can go to the Appearance » Menus page in your WordPress admin dashboard.

Creating a WordPress navigation menu

There, you can follow the steps in our beginner’s guide on how to add a navigation menu in WordPress.

Do note that every classic theme has different menu locations. Some may include locations for the primary navigation menu (inside or around the header area), the footer menu, and sometimes the sidebar menu.

If you find that the menu location you want is not offered by your theme, then you can read our guide on how to create a custom navigation menu in WordPress. Here, we show you how to add a custom menu location to your theme.

Method 2: Using the WordPress Navigation Block (Best for Individual Pages and Posts)

Another way to add a WordPress navigation menu to posts and pages is by using the built-in Navigation block. This allows you to show a navigation menu anywhere on a page or post, but you must manually add each menu.

To get started with this method, simply open the page or post where you want to add a WordPress navigation menu. Then, click on the ‘+’ button to add a new block to the page.

Adding a navigation block to a WordPress page or post

In the popup, type in ‘Navigation.’

When the right block appears, give it a click to add it to the page or post.

Adding a new block to a WordPress page or post

The Navigation block will show one of your menus by default.

If you want to add a different menu instead of the main menu, then open the ‘Block’ tab. Then, you need to select the ‘List View’ tab.

The List View tab, in the WordPress block editor

Here, you can click on the three dots next to ‘Menu’ to view all the available menu options.

Then, simply choose the menu name that you want to use instead or create a new menu.

Choosing a different WordPress navigation menu

Sometimes, you may want to customize the menu by adding more links. For example, if you run an online store on WooCommerce, then you might link to all the eCommerce products mentioned on that page.

To go ahead and add custom links to the navigation menu, click on the ‘+’ icon in the ‘List View’ tab.

Adding page links to a WordPress menu

This opens a popup with different options.

To add a link to any page on your WordPress site, just click on ‘Page Link.’

adding page links to a WordPress menu

You can now either choose a page from the dropdown menu or start typing in the page title. When the right page shows up, click to add it to the custom menu.

To add more pages to the navigation menu, simply repeat the same process described above.

Adding links to WordPress

You can also add social icons to a WordPress menu, which will encourage people to follow you on Twitter, Facebook, YouTube, LinkedIn, and more.

To get started, click on the ‘+’ icon in the ‘List View’ tab. This time, select ‘Social Icons.’

Adding social sharing icons to WordPress

This adds a new area where you can add social icons.

To get started, click on the new ‘+ Click plus to add’ section.

Adding social icons to WordPress

Now, select the social media network you want to link to.

For example, you can choose ‘Twitter’ to promote your Twitter page in WordPress.

Adding a Twitter icon to WordPress

After that, you will need to configure the social icon.

The exact steps will vary depending on the social network. However, you will typically need to click to select the icon and then type in the URL for your social media profile.

Adding a Twitter link in WordPress

Simply repeat these steps to add more social icons to the navigation menu.

Finally, you may want to add a search bar to your WordPress menu to help people find interesting pages, posts, products, and more.

WordPress has a built-in search feature, but it is basic and doesn’t always provide accurate results. That’s why we recommend using a WordPress search plugin to improve your site search.

Even better, if you choose an advanced plugin like SearchWP, then it will replace the default WordPress search. After configuring the plugin, all the search boxes across your site will use SearchWP automatically, including any search boxes in your navigation menus.

No matter whether you are using the built-in WordPress feature or an advanced plugin like SearchWP, simply select ‘Search’ to add a search bar to the menu.

Adding a search bar to a WordPress navigation menu

When you are happy with the menu’s content, you may want to change how it looks.

You can change the menu’s layout, including its alignment and orientation, by selecting the ‘Settings’ tab.

How to style a WordPress navigation block

After that, you can change the style of the navigation menu. You can modify the background color, text color, typography, and more by selecting the ‘Styles’ tab.

As you make changes, the live preview will update automatically. This means you can try lots of different settings to see what works best for your WordPress blog.

Customizing the WordPress menu in a page or post

There are lots more settings you can configure, but this is all you need to add a helpful WordPress navigation menu to a post or page.

When you are ready to make the navigation menu live, just click on either the ‘Update’ or ‘Publish’ button.

How to add a WordPress menu to a page or post

Now, if you visit this page or post, you will see the navigation menu in action.

Method 3: Using the Full Site Editor (Block Themes Only)

If you only want to add a navigation menu to a few posts and pages, then method 1 is a great choice. However, you will need to add each menu manually, so this isn’t the best option if you want to show the same menu across your entire website.

If you are using a block-based theme such as Hestia Pro, then you can add a WordPress navigation menu to the page or post template.

This menu will then appear across all your pages or posts without you needing to add it manually. This is perfect if you always want to show the same navigation menu in exactly the same place.

To get started, go to Appearance » Editor in the WordPress dashboard.

Selecting the Full-Site Editor from the WordPress admin panel

You will now some menus on the left side panel.

To add a navigation menu to your WordPress pages or posts, click on ‘Templates’ on the left sidebar.

Selecting the Templates menu in WordPress Full Site Editor

The editor will now show all the templates that make up your WordPress theme.

To add a navigation menu to your WordPress blog posts, select the ‘Single’ template. If you want to add a menu to your pages instead, then select the ‘Page’ template.

Choosing a WordPress block-based template

WordPress will now show a preview of your chosen template.

To edit this template, go ahead and click on the small pencil icon.

Editing a single WordPress template

With that done, click on the blue ‘+’ icon in the top left corner.

In the search bar that appears, type in ‘Navigation.’

Adding a Navigation block to a block-based template

When the right block shows up, drag and drop it onto your template.

By default, the block will show one of your menus. If you want to add a different menu instead, then click on the ‘Block’ tab. After that, select ‘List View.’

The List View tab in the WordPress full site editor

You can now click on the three dots next to ‘Menu’ to see all the menus you have created on your WordPress website.

Simply select any menu from the list.

Adding a navigation menu to a page or post template in a block-enabled theme

With that done, you can add more pages to the menu, add a search bar, and more by following the steps in method 1.

When you are happy with how the navigation menu looks, click on the ‘Save’ button to make it live. Now, if you visit your site, then you will see the same navigation menu across all your WordPress pages or posts.

With the full-site editor and block editor, you can create more than one navigation menu pattern and use it on certain pages and posts only. This can save you a ton of time and effort.

For more information, you can check out our complete beginner’s guide to WordPress Full Site Editing.

Method 4: Creating a Custom WordPress Theme (More Customizable)

Another option is to create a custom WordPress theme. This is a more advanced method, but it gives you complete control over where the menu appears in your posts or pages.

In the past, you would need to follow complicated tutorials and write code to build a custom WordPress theme. However, it’s now possible to easily create your own themes using SeedProd.

SeedProd is the best drag-and-drop WordPress page builder, and Pro and Elite users also get an advanced theme builder. This allows you to design your own WordPress themes without writing any code.

The SeedProd theme customizer

For step-by-step instructions, please see our guide on how to create a custom WordPress theme (without any code).

After creating a theme, you can add a navigation menu to any part of your WordPress website.

Simply go to SeedProd » Theme Builder and find the template that controls the layout of your posts or pages. This will typically be ‘Single Post’ or ‘Single Page.’

Creating a custom theme using SeedProd

This will open the template in SeedProd’s drag-and-drop page builder.

In the left-hand menu, scroll to the ‘Widgets’ section. Here, find the Navigation Menu block and drag it onto your layout.

Adding a navigation widget using the SeedProd page builder plugin

After that, click to select the Navigation Menu block in the live preview.

Now, open the ‘Select Menu’ dropdown and choose the menu you want to show.

Adding a navigation menu to a page or post template using SeedProd

You can now type an optional title into the ‘Title’ field. This will appear above the WordPress navigation menu.

To preview how the menu will look on your website, click on the ‘Apply’ button.

Previewing a navigation menu in a WordPress page or post

Next, you may want to style the menu by clicking on the ‘Advanced’ tab.

If you added a title, then you can change the text color, adjust the typography, and add more space between the heading and the menu items.

Customizing a navigation menu using SeedProd

You can also change the color and font used for the menu items.

Simply use the ‘Text Typography’ and ‘Text color’ settings to make these changes.

Customizing a navigation menu using SeedProd

After that, you can change the spacing, add custom CSS, and even add CSS animations using the settings in the ‘Advanced’ tab.

When you are happy with how the menu looks, go ahead and click on the ‘Save’ button in the SeedProd toolbar. Then, select ‘Publish.’

Choosing a different WordPress navigation menu

Now, if you visit your website, then you will see the new page or post layout in action.

Learn More Ways to Customize Your Navigation Menu

Want to take your navigation menu to the next level? Here are some expert guides you can read to customize your navigation menu:

We hope this article helped you learn how to add a WordPress navigation menu to posts and pages. You may also want to check out our article on how to add a slide panel menu in WordPress themes and our beginner’s guide on how to highlight a menu item in 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.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

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.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

24 CommentsLeave a Reply

  1. Dennis Muthomi

    hello, I was wondering if there’s a way to add a mega menu to the navigation, similar to what WPBegginer has on the site
    you know, when you hover over a menu item, and it displays additional sub-items for example when I hover at “Start here” on WPBegginer it shows more items. I think it could be a nice way to organize and showcase more content

  2. Jiří Vaněk

    It is possible to easily create a breadcrumb menu this way, or it is necessary to use a plugin. Can Gutenberg do the same?

    • WPBeginner Support

      For creating breadcrumbs we recommend using a plugin instead of this method as you would need to create the breadcrumbs on each page for the specific post.

      Admin

  3. Ralph

    I wanted to add custom menu that is different than topbar menu to 5 or 6 special articles and will use first method. It would be time consuming for more posts, as it is manual, but for 5 articles will take half an hour max. Thanks for detailed guide with screenshots. It really helps a lot.

    • WPBeginner Support

      Glad our guide could help!

      Admin

  4. Pier

    The Shortcode Menu didn’t work for me on the new Wordpress 5.x, with Block editor. It failed getting the correct menu.
    I solved by installing another plugin, named “Shortcodes ultimate”

    • WPBeginner Support

      Thank you for sharing your recommendation :)

      Admin

  5. Jon Burr

    The plugin Menu Shortcode has been pulled from the repository.

    • WPBeginner Support

      It has not been updated in a while but it is currently available in the repository :)

      Admin

  6. Rubb

    Great article, I use “menu shortcode” before but it not updated for year.
    It is OK to use it?

  7. sharon

    Does anyone know how to do this, but as a search box, so you can click on and list comes up , if that makes sense , as my list would be about 20 links and that wont look great on the page

  8. StacyN

    Has anyone discovered an alternate plugin to the Shortcode Menu one (which is not supported and discontinued some time ago)?

  9. Tamo

    I had to make mine by hand, because of vertical listing (up to 50 page of content on selected topic) Simply doesn’t look good in page.

    As of plugin, this one is abandoned I believe. I found Shortcodes Ultimate by ( Vladimir Anokhin ) to be extremely helpful.

  10. Chintan patel

    How to create drop down menu in post

  11. Andrea

    Thank you!! I have been looking for a way to display a menu on a page that has a hover feature and this is perfect. My only issue is in the dropdown sub-menu the first link doesn’t align with the others. Is there a way to fix this in the Custom CSS without having to download the code hero plugin?

    Thanks :)

  12. Jose Gonzalez

    What theme do you recommend for a small auto repair business that is only interested in highlighting its business using social media in English and Spanish? Thanks in advance.

  13. Michael Martin

    Great article but it is unfortunate that the Shortcode Menu plugin has not been updated for 2 years so probably not the way to go.

  14. Gavin Simone

    Very helpful to know. I also like using accordion modules to show the subject and let the user decide if they want to read what is inside.

    What happened to you guys using Disqus? I though you migrated over to it. Any reason for switching back?

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.