Custom menus are advanced functionality for controlling the content of the menus built into WordPress since version 3.0.
They should be used when the auto-generated menus no longer suit the desired content/functionality of the site or when custom links / custom structures are needed.
Define a custom menu
1. Navigate to Appearance > Menus.
2. Enter a name for you new menu.
3. Click Save Menu to create the menu.
Add items to the custom menu
4. Look in the left side of the content area for Pages, Links, Categories (and possibly other content types provided by plugins).
Click on the View All tab to see all items of that type, not just the recent ones.
5. Take note of the special “Home : home” (or simply “Home” when you have no page titled Home) item listed in pages. This is the recommended way to add a menu item linking to your site’s homepage.
6. Click the Add to menu button to add the selected items to your menu.
7. To add a (static) page to the menu, choose the desired pages from the respective tab.
8. To add a custom link, enter the target (relative or absolute) URL in the respective field and the item name in the Link Text field.
9. Use the rest of available menu item types to add menus linking to categories (for example) or even other post types provided by plugins.
10. To add a menu placeholder (an item that does not link to anything but is just the parent item for a sub-menu), add a Link item (see 8 above) and leave the URL field empty.
11. Remember to click the Save Menu button when you’re done.
Customize / delete a menu item
Click on the menu item in the right half of the screen. This will open up its edit control box.
Here you can edit the item’s properties, or delete it by clicking the Remove link.
Remember to click the Save Menu button when done.
Create multi level menus
WordPress supports creating multi level menus (sub-sub-sub-…-menus). To do this, drag the menu items around in the right side of the menu control window.
Each new sub-level will have an increased indentation compared to its parent.
Assign menus to your site
Now that you’ve created the menu just the way you want it and saved it, you’d expect to see it on the website. Not yet, since you did not assign it.
To assign it, click on the Manage Location tab to switch to this section of the administration. Here you will see all the different menu areas your theme supports and all the menus you’ve previously created.
12. Select the desired menu for the appropriate location.
Remember to click the Save Changes button when you’re done.
You can find more menu-related information in WordPress’ Menu User Guide.