Press "Enter" to skip to content

How to Customize Your Menus with WordPress

Not happy with your menu?

By default, every page you publish will get added to your menu and placed in alphabetical order. You can customize the order and which pages are displayed by creating a custom menu.

Custom menus can be created in the Menus section in the Customizer. There you can make as many custom menus as you want and assign them to menu locations provided by your theme.

What can I add to my menu?

Beyond links to “Pages,” you can also add links to posts, post categories, and custom URLs.

Check out the next tutorial if you want to learn how to add external links to your menu.

What else can I do?

Once you have a custom menu created, you can drag-and-drop the menu items to reorder them. You can also use the drag-and-drop mechanism to indent a menu item which will turn it into a submenu item.

If you click on any menu item in the Customizer, you’ll see a Navigation Label option which you can use to modify the menu item text without changing the title of the page itself.


In this video, you'll learn how to make your own custom menus with WordPress. As you can see here, I have a brand new install of WordPress and I'm using the shift WordPress theme and I only have one page published and you can see it displaying at the top. Now if I were to add a new page, which I will do now, and I'll just title it something like new page, and after I publish this page and I view it, you'll see my site now says new page and sample page in the menu. Now what's happening is that as I published pages, every single page will be listed in the primary menu location in alphabetical order. That's why new page, which begins with an N shows up before sample page, which begins with an S. I have one post published called hello world. This is the default post that's always published with WordPress and you can see that posts do not show up in the menu, so if I want to reorder these pages or get rid of one or add completely new links, the way I can do that is by creating a custom menu.

Now I used to recommend going to the menus page that you'll find under appearance, but now I recommend using the customizer. Using the menu section within the customizer is a nicer experience because you can watch your changes take place as you make them. So in case you're not sure how to get to this page one more time, you want to go to the appearance menu and click on customize and that will take you to what's called the live customizer. Now at the bottom of the customizer, you're gonna find this menus section. If you click on that, you'll see a little bit of text describing what happens here and you'll see your menu locations. If I view my menu locations, you'll see that I have one primary menu location which happens to be right here in the shift theme. The menu locations that you see available will depend on the WordPress theme that you're using.

So some themes might have let's say a menu at the top of the site and another menu in the footer and they might call them the header menu in the footer menu shift has one menu at the top and it's called the primary menu, so that's the one location that I see available. Now I can't select a menu because I haven't created a menu yet, so I'm going to click back and now I'm going to select this create new menu button right here. So I'll be prompted to give the menu a name and to match the location I'll just call it my primary menu to make this easy, and while I'm at it I'm also going to select the primary menu location, which again in the shift theme is right here. Now when I click the next button, you'll see that we tell my menu's been assigned to the primary menu location because it's now empty because my menu doesn't have any menu items in it.

So to change that we'll click the add items button right here. Once I click add items, this new sub menu is going to appear and it has a number of different options. The different uh, different sections available for adding menu items. The pages section is open by default, but to give you a better idea of what's happening here, I'm going to close that. And now you can see there are five different ways that I can add menu items. First of all, I can add custom links. So this is great. If you want to add an external link or a link to a post or something like that, you might want to just use a custom link option. You also have the pages section, which is what you will use the most. You can add a link to an individual post and you can add links to categories and tags.

Now this is a brand new WordPress install. So I only have the uncategorized category. But if you have a news website, for instance, it's very common to include links to your different, um, article categories in your men, in your main menu. So you might be using this option a lot, but for this example, I'll just stick with the pages option and WordPress automatically adds this home page link even though it is technically a page like, but I think I want to include that. So I'll just go ahead and click on it and you can see it gets added to the my menu and it also shows up over here. So I'm going to re add the new page link and the sample page link as well. And then I'm going to click on the add items button to close this section over here. Now as you can see, I have home new page and sample page included.

Once I click publish, this will be seen by all of my site visitors. So one thing that's really neat about the customizer, in case you don't already know this, the changes you make are only visible to you as you make them. They don't show up to your site visitors until you click the publish button. So that's the gist of creating custom menus in WordPress. A couple more things I'll show you before I get going. Um, let's start with reordering menu items. You can drag and drop any of these items to place them into a new order. This way you don't have to rely on the alphabetical order that you get by default. Additionally, you can create sub menus by dragging a menu item and dropping it to the right. You'll see an indentation over here and now you can see that sample page is a sub menu item underneath new page.

And the last thing I'll show you is how to retitle these menu items. It's very common to publish a page that's called let's say about us and you want the page title to say about us, but you just want the menu item to say about, so the change the label for any menu, any menu item, you can click on this dropdown Arrow right here and you'll find the navigation label option. So I'll just call this page and you can see it's updated right away. And if I click on that page, it still has its original title, new page. It's only named page in the menu here. And I'll go ahead and publish to save my changes. So that's how you can create custom menus in WordPress and assign them to your themes, menu, locations. You also learned how to reorder them, how to create sub menus and how to change the navigation labels. If you still have any questions about using menus and WordPress, please drop a comment below. Otherwise, thanks for watching.

Ben Sibley
Ben Sibley

After using WordPress for the last 9 years, I've made dozens of websites, designed and developed 20 themes that have been downloaded more than 1.5 million times, and personally helped thousands of WP users with their sites.

Now I'm sharing everything I know to help make WordPress an easier and more rewarding choice for building a website. If you have a question you want answered, submit your question here.