Skip to content

How to Fix Menu in WordPress

Struggling with a broken or missing menu in WordPress? This guide walks you through common menu problems and shows you exactly how to fix them—whether it’s a display issue, missing links, or styling glitches. You’ll learn practical solutions using the WordPress Customizer, theme settings, and simple code tweaks—no coding experience required.

Key Takeaways

  • Check theme compatibility: Some themes don’t support custom menus by default—verify your theme includes menu support.
  • Use the WordPress Customizer: Most menu fixes can be done visually through Appearance > Customize > Menus.
  • Reassign menu locations: If your menu disappears after a theme change, reassign it to the correct theme location.
  • Clear cache regularly: Cached pages may show outdated menus—clear browser and plugin cache after changes.
  • Disable conflicting plugins: A plugin might interfere with menu functionality—test by deactivating plugins one by one.
  • Add custom CSS if needed: Styling issues? Use the Customizer’s Additional CSS panel to tweak appearance.
  • Create a child theme before editing: Avoid losing changes during updates by using a child theme for customizations.

How to Fix Menu in WordPress: A Complete Step-by-Step Guide

If your WordPress menu is missing, broken, or not displaying correctly, don’t panic—you’re not alone. Menu issues are among the most common problems WordPress users face, especially after updating a theme, installing a new plugin, or switching designs. The good news? Most menu problems are easy to fix with a few simple steps.

In this guide, you’ll learn how to diagnose and resolve the most frequent WordPress menu issues. Whether your menu won’t appear, links are broken, or it looks weird on mobile, we’ve got you covered. We’ll walk you through built-in WordPress tools, theme settings, and quick troubleshooting tips—all without needing to touch code unless absolutely necessary.

Step 1: Check If Your Theme Supports Menus

Not all WordPress themes automatically support custom navigation menus. Before doing anything else, make sure your current theme allows menu creation.

How to Fix Menu in WordPress

Visual guide about How to Fix Menu in WordPress

Image source: cuisineandwinebistro.com

How to Verify Menu Support

  • Go to Appearance > Menus in your WordPress dashboard.
  • If you see options to create and manage menus, your theme supports them.
  • If the menu section is missing or grayed out, your theme may not include add_theme_support('menus').

What to Do If Your Theme Doesn’t Support Menus

Some older or minimal themes don’t include menu support. In this case, you have two options:

  • Switch to a modern theme that supports menus (like Twenty Twenty-Four, Astra, or GeneratePress).
  • Add menu support manually by editing your theme’s functions.php file (only if you’re comfortable with code or using a child theme).

To add support, insert this code into your child theme’s functions.php:

function mytheme_register_menus() {
    register_nav_menus(
        array(
            'primary' => __( 'Primary Menu', 'mytheme' ),
            'footer'  => __( 'Footer Menu', 'mytheme' )
        )
    );
}
add_action( 'init', 'mytheme_register_menus' );

After adding this, go back to Appearance > Menus—you should now see menu options.

Step 2: Create or Restore Your Menu

If your menu is missing entirely, you’ll need to create a new one or restore a previous version.

How to Fix Menu in WordPress

Visual guide about How to Fix Menu in WordPress

Image source: gubistronomy.com

Creating a New Menu

  • Go to Appearance > Menus.
  • Click Create a new menu and give it a name (e.g., “Main Navigation”).
  • Click Create Menu.
  • Add pages, posts, custom links, or categories by checking the boxes and clicking Add to Menu.
  • Drag and drop items to reorder them.
  • Click Save Menu.

Restoring a Deleted Menu

If you accidentally deleted your menu, check if it’s still listed under Menu Settings:

  • In the Menus screen, look for a dropdown labeled “Select a menu to edit.”
  • If your old menu appears there, select it and click Select.
  • Reassign it to a theme location (see next step).

If the menu is truly gone, you’ll need to recreate it. Consider using a plugin like WP Rollback to restore a previous version of your site if the deletion was recent.

Step 3: Assign Your Menu to a Theme Location

Even if you’ve created a menu, it won’t show up on your site unless it’s assigned to a theme location (like “Header” or “Primary”).

How to Assign a Menu

  • In Appearance > Menus, select your menu from the dropdown.
  • Scroll down to the Menu Settings section.
  • Check the box next to the theme location where you want the menu to appear (e.g., “Primary Menu”).
  • Click Save Menu.

💡 Pro Tip: If you don’t see any theme locations listed, your theme may not define them properly. Check your theme documentation or consider switching to a more robust theme.

Step 4: Use the WordPress Customizer for Visual Editing

The WordPress Customizer offers a real-time preview of your menu changes—perfect for tweaking appearance without breaking anything.

Accessing the Customizer

  • Go to Appearance > Customize.
  • Click Menus in the left panel.
  • Select the menu you want to edit.

What You Can Do in the Customizer

  • Add or remove menu items.
  • Change the order by dragging.
  • Rename menu items.
  • Set a custom link (e.g., to an external site).
  • Assign the menu to a different location.
  • Preview how it looks on desktop, tablet, and mobile.

This is especially helpful for checking mobile responsiveness. If your menu collapses into a hamburger icon on mobile, make sure the theme supports responsive menus.

Step 5: Fix Styling and Display Issues

Sometimes your menu appears but looks off—wrong colors, misaligned items, or broken dropdowns. These are usually CSS-related.

Common Styling Problems and Fixes

  • Menu not visible: Check if it’s hidden by CSS (e.g., display: none). Use browser inspector (F12) to debug.
  • Dropdowns not working: Ensure your theme supports multi-level menus. Some themes only show top-level items.
  • Font or color mismatch: Override styles using custom CSS.

Adding Custom CSS

  • Go to Appearance > Customize > Additional CSS.
  • Add rules like:
/* Change menu background */
.main-navigation {
    background-color: #2c3e50;
}

/* Style menu links */
.main-navigation a {
    color: #ffffff;
    font-weight: bold;
}

/* Fix dropdown spacing */
.sub-menu {
    margin-top: 10px;
}

💡 Tip: Always test CSS changes on a staging site first. For safer editing, consider creating a child theme to preserve your changes during updates.

Step 6: Troubleshoot Common Menu Problems

Even after following the steps above, some issues may persist. Here’s how to fix the most stubborn menu bugs.

Menu Disappears After Theme Update

This happens when a theme update resets menu assignments. Fix it by:

  • Going to Appearance > Menus.
  • Reassigning your menu to the correct theme location.
  • Saving changes.

To prevent this in the future, always use a child theme when customizing your site.

Menu Not Showing on Certain Pages

Some themes hide the menu on specific templates (like landing pages). Check:

  • The page template used (in Page Attributes when editing the page).
  • If a plugin is hiding the menu (e.g., maintenance mode plugins).
  • Conditional logic in your theme’s header file.

Mobile Menu Not Working

If the hamburger menu doesn’t open on mobile:

  • Clear your browser cache and test in incognito mode.
  • Disable caching plugins temporarily.
  • Check if JavaScript is blocked (common with security plugins).
  • Ensure your theme includes mobile menu scripts.

Plugin Conflicts

Plugins like page builders, SEO tools, or security plugins can interfere with menus.

  • Deactivate all plugins.
  • Check if the menu works.
  • Reactivate plugins one by one to find the culprit.

Once identified, look for plugin settings that affect menus or consider replacing it with a lighter alternative.

Step 7: Prevent Future Menu Issues

An ounce of prevention is worth a pound of cure. Follow these best practices to keep your menu running smoothly:

  • Use a reliable theme: Choose well-coded, regularly updated themes.
  • Keep WordPress and plugins updated: But test updates on a staging site first.
  • Backup your site regularly: So you can restore if something breaks.
  • Document your menu structure: Keep a note of your menu items and links.
  • Avoid editing core theme files: Always use a child theme for customizations.

Conclusion

Fixing a menu in WordPress doesn’t have to be frustrating. Most issues stem from theme compatibility, incorrect assignments, or simple display glitches—all of which are easily resolved with the right approach. By using the built-in Customizer, checking theme support, and applying targeted CSS, you can get your navigation back on track in minutes.

Remember: always test changes on a staging site when possible, and keep backups. And if you’re making design tweaks, a child theme is your best friend. With these steps, your WordPress menu will stay functional, beautiful, and user-friendly—no matter what updates come your way.