Building menus for a theme

Menus refer to the list of links that typically appear at the top of your blog, or in the footer. All WordPress themes rely on a menu of some sort, because they allow users to easily navigate to various categories and info pages on your site.

  • Menus can confuse new WordPress users, because in addition to creating a menu (i.e., deciding what links should be in the menu), you must also assign that menu to a Menu Location. This article will cover how to do both! 
  • In WordPress, a Page is not the same as a Category. We find it's common for new WordPress users to refer to the word "Page" when they actually mean a "category" or "archive." If you want to add a link to a menu that will return all posts from a particular vertical—say, fashion, or beauty—you must create categories and add those to your menu. Adding a page will simply link to a static information page. As a live example, check out this link to a category, and this link to a page. Note how one returns a feed of posts, and the second returns a static page with information less likely to change. For help on creating categories, click here. For help more info on posts vs. pages, click here.


This section will be relevant if you are starting a brand new site, OR if you want to remove previously established menus and start over.

1. In your WordPress Dashboard, head to Appearance > Customize. Look for the Menus tab, and click on it. (Note: the location/order of the tab may vary depending on your theme.)

2. If you have already been blogging, you may see existing menus in the screen that loads. If you are creating your site from scratch, this message on the left, below will appear:

3. Click Create New Menu. We recommend naming each menu after its location, which you can see below, with radio/checkmark buttons. This will help you keep menus straight and remember what’s assigned where, with ease. After you name the menu (in this example above, “Primary”), check off the corresponding menu location, below. Then, click Next

4. A new screen will load, prompting you to Add Items to your menu. Click the button to Add Items.

5. From here a flyout menu will appear. You can navigate through each heading, and select posts, pages, categories, even external links that you wish to add to your menu. The menu will update in real time over in the preview on the right, so you can see how your menu will appear on your site!

6. All Primary menus (and many Top menus) in <em>press themes support nested dropdowns. To nest an item within a menu, simply drag it to the right, so that it appears indented under the menu link you wish for it to dropdown from. It looks like this:

Notice in the example above, “Real Life” would appear in the menu, and when a user hovers over it, they would see links for “I’m Loving,” “Life Lately,” and “Quick Snap.” In this example, the blogger is providing readers with an easy way to access specific types of posts within the broader “Real Life” category.

7. When you’re satisfied with the changes, either click Publish (if you’re ready to take ALL customization changes you’ve made live), or click the back button in the Customizer, and continue customizing your theme. You will need to hit Publish before the changes in the Menu tab are committed.


Menu Locations are connected to pre-coded and styled areas of your blog that are built to house the menus you’ve created. We typically name our menus Top, Primary, and Footer. Here are where each of these menus is located, based on theme.


If you already have menus in place, you can simply change their assigned menu location, and your existing menu will appear in that location!


The Customizer is not the only place you can edit a menu. Menus can also be accessed by going to  Appearance > Menus. The layout is a bit different from the Customizer, but the menus all work the same way (and, you can drag and drop items into your desired menus as you build). If you’re new to WordPress, we recommend editing your menus in the Customizer until you get comfortable with the WordPress dashboard.