WordPress basic menu configuration

The default situation in WP is that the front page is a blog, which shows up as Home on the navigation menu (Or it did until the twentyfourteen theme became the default. The twentyfourteen theme does not include a link to Home on the default menu). The rest of the navigation menu lists your top level pages in alphabetical order. So every time you create a page, as opposed to a post, it gets added to the navigation menu in alphabetical order, to the right of the ‘Home’ page link if that link exists. This is usually not what you want. You may for example want to have a static page as your front page, with your blog showing up elsewhere. You will almost certainly want to take control of your main navigation menu.

This article describes how to do both of these things:

  1. Make your front page a static page (if that’s what you want)
  2. Create a custom menu to hold just the items (pages, category lists, etc) you want

Make your front page a static page

You will first need to create a page that will be your static front page (Dashboard → Pages → Add New) if you haven’t already created one). Any page will do. Most people create a page called ‘Home’, but you don’t have to. By default, the navigation menu item label will be the title you give to this page, but you can change that as I explain below, if you want the page’s title to be something other than ‘Home’ whilst retaining the label ‘Home’ in the menu.

Next you should create a blank page (just a title with no content) that will hold your blog. Again, it can be anything, but most people create a blank page with the title ‘Blog’.

Now go to Dashboard → Settings → Reading. On the Reading Settings page, tick the A static page check box and select the page you want to be your home page from the first dropdown list. When you’ve done that, choose the page that will be your blog page by selecting the blank page you created for your blog from the second dropdown list.

Note that you do not have to choose a blog page if you don’t want one.  You may, for example have all your posts ordered into category lists and do not therefore need a general blog page.  If that’s your case, just leave the second dropdown list unselected.

Save your changes.

Create a Custom Menu

To create your custom menu, go to Dashboard → Appearance → Menus.

If you haven’t already created a custom menu, the page will be set up to create one. If you’re creating a second or subsequent one, you need to click on the tab with the label ‘+’ in the main panel.

Enter a name for your custom menu in the Menu Name text box: something like main-nav is what I use.

Between the main panel and the sidebar, you will see a column of panels displaying the things that you can add to the menu. Usually, you will see Custom links, Pages and Categories. Above all of these you will see a panel called Theme Locations, one of which will be Primary Navigation. Select your custom menu (main-nav, if that’s what you called it), from the dropdown list, as the primary navigation menu.

You now need to add items to your menu. Usually you want to add pages and/or category lists. Just select the ones you want from the panels between the sidebar and the main panel and click the Add to Menu button. When you do that, the item will appear in the main panel.

Make sure you add the blank page you created for your blog!  Assuming you want it displayed, of course (see above).

If you want to add arbitrary URLs, you can do that too: for a link to an external site, for instance.

You can drag and drop items around in the main panel to get them ordered just how you want them. You can even nest them.

If you want the label that appears in the menu to be different from the title of the page, just click the down arrow on the menu item in the main panel and enter a Navigation Label. So, for example, if your home page has the title ‘Welcome’ and you want the menu item to say ‘Home’, just type ‘Home’ into the Navigation Label text input.

Now you can save your work and view your site. You will have a static front page with the label Home (if that’s what you wanted), and the rest of the menu items you added, in the order you specified when you dragged the items around. Assuming you remembered to add your blog page, that will be there as well, with all your articles showing up in the normal way.

This entry was posted in Uncategorized. Bookmark the permalink.

23 Responses to WordPress basic menu configuration

  1. Thank you. After a lot of searching, this is just what I needed.

  2. Otee says:

    Me too! Thanks

  3. Es Ter says:

    I was getting desperate because the content of all pages was also showing in the home page and couldn’t find how to fix it! Your information here helped me solve the problem! Many thanks!

  4. Ryan says:

    Thanks for the tutorial. Still having a problem, though. On my homepage I would like static text. Using your instructions, I have been able to do this, however, doing so prevents “posts” from appearing on the homepage along with the “static” content. (Instead, “posts” are located and reached through a sub-menu under “home.” This is ok, but until they become outdated, I would like the most current to be on the homepage and immediately available to the visitor.) Am I doing something wrong or do I need a different procedure?

    • admin says:

      Under a standard WP setup, the choice is either/or. You can’t have both static and blog content on your home page.
      In the past, I’ve set up home pages with a single sticky post as the first post. This stays on top and therefore functions rather like static content. I don’t know if that’s any help to you.
      Failing that, I think you’re into some pretty heavy programming.

      • Ryan says:

        Many thanks for the reply and clarification. I tried the sticky, but it is not as clean. The static page solved the appearance issue, but presented a different complication. Are you aware of any plugins or codecs that can be used to allow both sticky and static content? The either/or choice is not mine to make, but your response has been very helpful regarding what I need to tell my supervisor.

        • admin says:

          I’m not, I’m afraid. But that doesn’t mean they don’t exist. Check out the WP Codex for themes or plugins that might support what you want. And the WP forums provide very good support as well.

          If all else fails you can create a custom page template that will do what you want, using the WP API. However it will require a very good understanding of the underlying technologies (HTML/CSS/PHP), as well as a good understanding of how WP works. Or, since this is your front page, you could perhaps add some straight HTML to your front page template…

          Best of luck.

  5. Denise says:

    Hi there. Your answer helped me with this problem but not fully. It got rid of the dualing ‘home’ tabs, but my site doesn’t respond to its actual URL — only the URL with /home at the end of it. I can’t figure out how to fix it. Any ideas?

    • admin says:

      Hi Denise.

      It’s hard for me to say exactly what you should do without examining your site and its backend. So if what I say below doesn’t help, I suggest you post to the WordPress Themes and Templates forum, where you should get the help you need.

      Having said that, here are some suggestions.

      If you have two links to ‘Home’, are they both pointing to the same place? If they are, you can safely delete the one from your custom menu.

      If they are not the same, you’ll need to decide which one you want and then delete the other one from your menu. If it’s not on your custom menu, you’ll need to delete it from your pages if you don’t want it to appear at all on your custom menu.

      If you want to keep them both but have different entries for them in your menu, the best thing to do would be to edit your menu and change the navigation label or change the page title in the page editor. If you change a page title, I always think it’s a good idea to change its permalink as well.

      In the worst case scenario, where you have a ‘ghost’ page that appears on your navigation menu but not in the menus editor and not on your list of pages, I guess you’ll have to remove the page from the database. However that’s a bit out-of-scope for this discussion and you should definitely get help from the forum if you need to do this.

      I hope this helps you.

  6. miranda says:

    Hi,
    I hope you can help me?
    I have already made my home page and most of my pages, but the button that says home, doesn’t link to what I think of as my home page – my front page, and I can’t work out how to do it! Yours hopefully, Miranda

  7. miranda says:

    Hi,
    I hope you can help me?? I can’t make my ‘home’ button link to my actual front page, so all the buttons link to their pages, but there’s no way to get back to home once you’re off that page?
    Yours hopefully
    Miranda

    • admin says:

      Hi Miranda,

      I’ll use this thread to reply to both your comments, if that’s OK.

      I’m sure we can help, but given that I can’t see your administration pages, it might take a while. That being the case, it would be best to do this via email rather than in a comments thread. So I suggest you contact me via this site’s contact form, giving me your email address. I’ll then reply to you via email.

  8. @dan_steer says:

    Thank you
    Perfect
    Simple
    Well explained!

  9. Roman says:

    Thanks a lot!
    This helped a lot, and it was very simple to understand.

  10. Raedina says:

    So glad I finally found this! I was going nuts…

  11. Judy says:

    So helpful. Thank you!

  12. Judy Robbins says:

    I have the old problem: my “home” page suddenly has a twin titled “#3 (No Title) on the navigation tabs along the top. I normally have Home (static), About, Services, Contact, Blog, and Freelance tabs, but now “#3 (No Title)” has appeared just after “Home”. Since I haven’t changed anything for years, I don’t know the fix and the support pages just sort of dance around the issues with great information about other aspects. I suspect there is just a little place to click somewhere and it will be back to normal again. I’ve been looking at this for the better part of an evening and day, could someone please help? I’ve been browsing through forums so maybe an admin? Thank you.

    • admin says:

      If you’re still struggling with this, Judy, fill in the contact form and send it. That way I’ll have your email address without it appearing here, and I’ll email you with some further questions the answers to which should get you sorted.

      As you rightly say, it won’t be hard to solve.

  13. selim says:

    Hello and thank you for the instructions. I am struggling with a double HOME and can’t figure out to remove one. I made a custom menu with HOME-CONTACT-SHOP-TEAM
    thanks a lot, selim

    • admin says:

      Selim, my apologies. I’ve been away and haven’t been keeping up-to-date on what’s going on on the site. Do you still have this problem? If so, use the contact form on the site to give me an email address and we’ll try to sort the problem out without blocking up the comments on the article.

  14. When I originally left a comment I seem to have clicked on the -Notify me when new comments are added- checkbox and
    now every time a comment is added I get four emails with the exact
    same comment. There has to be a means you are able to remove me from that
    service? Kudos!

  15. So when are you going to please rewrite the WP Codex so us beginners can understand what it all means? You explain things superbly.

    • admin says:

      Hi Chaz. You’re too kind. If you get any other problems that you think warrant an explanation, please let me know.

      In fairness to the Codex, though, I do think that on the whole it does a very good job. It has to be comprehensive, which it most certainly is, so it’s very hard to accomplish that and hit the right level every time. But you’re right. There are areas where the expression of the subject matter could be improved: ‘Moving WordPress’ is one of those areas, for example and in my opinion only of course.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>