Site Structure

Troubleshooting Plumbit headers

Diagnose missing, duplicated, stale, overlapping, sticky, mobile, and Elementor-owned Plumbit headers by checking the source before changing settings.

When a Plumbit header is missing, duplicated, stale, overlapping, or unresponsive, identify the owner first. Work from the provider and page scope to the menu, template, responsive state, and relevant diagnostics. Do not start with CSS or by deleting a template.

Start with the symptom#

Record the URL, viewport, header area, expected and actual output, provider, selected design or template, Main Menu and Mobile Menu assignments, sticky state, and whether the problem affects desktop, sticky, top, mobile, or footer output.

  1. Check the provider#

    Inspect the relevant Header area and determine whether Theme Options or Elementor owns it.

  2. Check the enabled state and source#

    Confirm the header area is enabled and that the selected theme design or Header post exists.

  3. Check page scope#

    Inspect supported page-level provider or template overrides before changing global settings.

  4. Check menus and responsive state#

    Confirm Main Menu, Mobile Menu, and conditional Top Header Menu assignments, then test logged out at the affected width.

  5. Check diagnostics#

    Review browser console and PHP logs for relevant errors. Check cache only after the source is known.

Header missing#

Check the provider, enabled state, selected Header Type or Header post, page template, and page-level override in that order. Confirm the required theme or extension plugin is active. If Elementor owns the area, inspect the selected template rather than changing theme controls. Check caching only after confirming the header source.

Wrong header displayed#

Compare the global provider and template with the page-level provider or template. Check content-type behavior and Elementor template scope where it is actually configured. Do not infer the source from the header's appearance.

Two headers displayed#

Check for theme and Elementor output at the same time, duplicate Elementor widgets or templates, and desktop/mobile containers visible at one breakpoint. A sticky header can look like a duplicate while scrolling; compare the DOM and scroll state before removing anything. Record assignments before changing or deleting a template.

Sticky header is not working#

Check the relevant enable control, provider, selected variant or template, scroll distance, desktop/mobile scope, page template, and browser console. Check optimization or minification only after confirming the sticky source. Respect reduced-motion behavior when testing transitions. Do not create a separate sticky menu assignment; theme sticky variants reuse Main Menu.

Mobile header is empty or unresponsive#

Check Mobile Menu independently, confirm the mobile provider, and inspect the toggle element and console. Test the menu's nested items and whether the active theme output uses Top or Side position. A duplicate header, optimization issue, or cached script can also prevent a toggle from opening. Do not edit JavaScript as the first response.

Header overlaps content or spacing is wrong#

Distinguish a transparent or overlay header from a sticky header, a page template such as Elementor Canvas, negative spacing, and the separate Page Header/title area. Compare the same page with the header provider recorded and test logged out. Do not apply a CSS patch before the owning source and intended spacing behavior are known.

Header changes remain stale#

  1. Update the correct source and confirm the active provider.
  2. Refresh the frontend and test logged out or privately.
  3. Regenerate Elementor files only when Elementor owns the affected styling.
  4. Clear the relevant page cache, then a CDN cache when that layer is known to exist.

Do not clear every cache immediately or treat a stale result as proof that the wrong control was changed.

One page uses a different header#

Inspect that page's Page Sections Meta Box for a provider or template override. When a page-level control supports inheritance, leaving it unset allows the corresponding global setting to apply. If the override is intentional, record it and test the page independently.

Critical error or broken JavaScript#

Collect the full error message, affected URL, provider, template or design, desktop/mobile state, recent changes, console output, and relevant PHP log entry. Include Plumbit, Plumbit Extensions, Elementor, WordPress, PHP, and browser versions. Do not edit theme PHP or JavaScript as a first response. See Getting support for Plumbit.

Expected result#

The issue is assigned to the correct boundary: global Header settings, a page-level override, a menu location, an Elementor Header post, sticky/mobile JavaScript, or an identified cache layer.

How to configure the Plumbit theme header

Configure Plumbit's theme-provided top, main, sticky, and mobile header areas without confusing them with the page title banner or an Elementor header template.

How to configure the Plumbit mobile header

Configure Plumbit's mobile logo, Mobile Menu, toggle, panel, submenu behavior, and mobile sticky state, then verify the result on a real narrow viewport.

Theme headers versus Elementor header templates in Plumbit

Identify which system owns each Plumbit header area, then edit the correct provider without creating duplicate output.

How to assign Plumbit menu locations

Assign the correct WordPress menu to Plumbit's Main, Footer, Mobile, or Top Header location and understand when an Elementor header is separate.