How Do WordPress Navigation Menus Actually Work?
The Two-Step Structure
Building a menu is genuinely two separate steps: creating the menu itself (adding, ordering, and nesting links) and assigning that menu to one of the theme's registered locations. A theme might register several distinct locations — a primary header menu, a footer menu, a mobile menu — each rendering in a different place on the page, and a menu without any location assigned simply won't display anywhere on the live site even though it exists and can be edited.
Common Points of Confusion
- A menu not showing anywhere is very often simply not assigned to any theme location, rather than a bug — this is the first thing to check.
- Switching themes can reset menu location assignments, since the new theme's registered locations may have different names or fewer/more available slots than the old one, requiring menus to be reassigned after a theme change.
- Nested/dropdown menu items are built by dragging a menu item slightly to the right under a parent item in the menu editor, creating a hierarchical structure the theme then renders as a dropdown or submenu.
- A block theme with full-site editing handles navigation somewhat differently, using a Navigation block that can be edited more directly within the Site Editor rather than the separate classic Menus screen.
Setting Up Menus Correctly
- Build the menu's link structure under Appearance → Menus (or the Navigation block, for a block theme).
- Assign it to the correct theme location, checking this explicitly if a menu isn't appearing where expected.
- Re-check menu assignments after any theme change, since locations often don't carry over automatically.
Need navigation menus fixed or customized for your theme? See WordPress bug fix.