Initial assessment without passwords Quote before intervention One accountable specialist from start to finish

Admin Media Frontend

A WordPress Menu or Mobile Navigation Stops Working

Fix a WordPress menu or mobile navigation failure by tracing menu assignment, markup, JavaScript, overlays, cache and accessibility.

A missing menu and an unclickable mobile toggle are different failures. WordPress may render the wrong menu location, the theme may output valid links hidden by CSS, or JavaScript may fail before the toggle attaches.

Inspect the rendered HTML and first browser error before rebuilding the menu.

Define the failure

Record page, viewport/device, logged-in state, language and whether the menu is absent, wrong, visually hidden or does not open.

Compare desktop and mobile markup. Test keyboard activation as well as touch/click.

Capture:
menu location/name
toggle element/ARIA state
first Console error
loaded theme navigation script
overlay/stacking context
cache status

Avoid screenshots containing private menu items.

Check WordPress menu assignment

In Appearance > Menus or Site Editor, confirm the intended menu/navigation block is assigned to the theme location for each language.

A theme update can rename locations; switching themes can leave the old assignment orphaned. Do not delete the menu merely because its location is unassigned.

Export/screenshot structure before changing complex menus.

Inspect rendered markup

View source/Elements. If links are absent, investigate WordPress location/template/block data. If present, inspect CSS and JavaScript.

Check duplicate IDs, missing button target and whether the toggle controls the correct menu container:

<button aria-controls="site-navigation" aria-expanded="false">Menu</button>
<nav id="site-navigation">...</nav>

Labels and focus behaviour must remain accessible.

Read the first JavaScript error

Open Console, reload and activate once. An earlier error from optimisation, consent, slider or theme code can stop menu initialisation.

Verify the navigation script returns 200 and correct content type. A cached old script may expect markup from the previous theme version.

Do not add a second click handler until the original event path is understood; double handlers can immediately open and close the menu.

Check overlays and CSS

Cookie banners, chat widgets, sticky headers and transparent elements can intercept taps. Use the element picker and computed z-index, pointer-events, overflow and positioning.

Test with keyboard focus. Avoid arbitrary maximum z-index values or disabling pointer events on consent controls.

Check media-query breakpoints and browser zoom; a menu can be hidden at intermediate widths.

Review block-theme navigation

Navigation blocks store menu/entity data differently from classic menus. Confirm the header template part contains the intended navigation and that changes were saved/published.

Compare customised database template with the updated theme file. Export before resetting.

Reusable patterns/synced blocks may update several pages; test scope before editing.

Check multilingual menu relationships

English, Spanish and Catalan pages may use separate menu entities or translated navigation blocks. Confirm each language header/template resolves the intended menu and every translated link targets a published page.

Do not duplicate the base menu without reviewing language switchers, custom links and hierarchy. Test fallback behaviour when a translation is absent and avoid sending visitors silently to an unrelated language/homepage.

Provide a usable no-script baseline

Critical navigation should remain understandable if JavaScript fails. Links can be visible by default and enhanced into a collapsible menu, with CSS/HTML that does not permanently hide them before initialisation.

If design requires a script-only drawer, provide an accessible fallback link/sitemap and monitor initialisation. Do not solve a broken toggle by exposing two overlapping menus to screen readers.

Check cache and generated assets

Purge only relevant page/asset caches and use versioned CSS/JS. Test after CDN/page cache is warm.

HTML and script from different releases cause intermittent behaviour. Ensure deployment changes both atomically.

Do not publicly cache role-specific/private menu output.

Verify navigation completely

Test nested items, current-page state, Escape/outside click, focus return, scroll lock, orientation and representative browsers. Follow every critical link/language.

Monitor front-end JavaScript errors after release. Recurring care should include an automated mobile-menu interaction test; a visible hamburger icon is not proof navigation is usable.

BEFORE YOU SEND THE REQUEST

Frequently asked questions.

Do you ask for passwords in the form?+

No. The public form never requests access. Secure credentials are requested only after the scope and quote are approved.

Who reviews the incident?+

The request goes to Jordi Ensenyat, founder of Code Barcelona and a WordPress specialist with more than 15 years of experience.

Is anything changed before the quote?+

No. Visible symptoms and scope are reviewed first. Intervention begins after approval and with a rollback path prepared.

Do you work internationally?+

Yes. WP Repair handles WordPress and WooCommerce incidents in English and Spanish through a remote service.

Assess my incident