Giuliomax Menu Builder

Changelog

3.4.0

  • New: 50 preset themes with filterable style categories β€” the Themes panel now offers 50 professionally designed themes (up from 20), organized into 10 style categories: πŸŒ™ Dark, βšͺ Minimal, 🌈 Vibrant, 🎨 Creative, πŸ’Ό Corporate, 🌿 Nature, πŸ’Ž Elegant, πŸ“Ό Retro, 🧊 Glass, 🎈 Playful; a row of interactive category chip buttons above the grid lets you narrow the theme list instantly β€” each chip shows the number of themes it contains; 30 new original themes added including Obsidian Gold, Graphite Ice, Neon Synthwave, Holographic, Miami 80s, Burgundy Velvet, Frosted Aqua, Bubblegum, Vaporwave and more

3.3.2

  • Fix: Announcement Bar width and gap β€” the bar is now wrapped in a shared flex-column container with the nav, so it always matches the menu width exactly and sits flush against it with no white-space gap, regardless of the theme layout
  • Fix: PHP fatal error on admin pages β€” an unescaped apostrophe in help-content.php caused a parse error that crashed the entire WordPress admin; fixed by escaping the offending character (bar’s)
  • Fix: Announcement Bar section missing from help modal β€” the πŸ“’ Announcement panel was not documented in the contextual help; a full section covering all fields (message, link, colors, position, dismissal, countdown timer) has been added
  • Improvement: Help modal display instructions β€” the “How to display the menu” entry now leads with the native MenuX block (no-code path) instead of the shortcode

3.3.1

  • New: Countdown Timer in Announcement Bar β€” attach a live ticking countdown (days / hours / minutes / seconds) to any announcement; set a target date/time, a label (e.g. “Ends in:”) and an optional expired message; initial values are rendered server-side to eliminate first-paint flash; the days segment hides automatically when it reaches zero
  • Fix: Stale open-state on mobile after closing the menu β€” second-level and third-level submenus that were open before the hamburger close remained visually open on the next open; bmCloseMenu() now collapses all nested .mobile-sm-open links and resets mega-menu .menux-open state including aria-expanded
  • Fix: Accordion not fully collapsing sibling branches β€” closing a sibling item on mobile only removed the direct-child open class; now clears all descendant .mobile-open / .mobile-sm-open in the sibling branch so deeply nested submenus are fully reset
  • Fix: Sticky spacer height drift when web fonts load late β€” when a Google Font was configured and the page was scrolled before the font finished loading, the spacer kept the wrong height permanently; the new recalcMetricsForce() function briefly removes the fixed class synchronously (no visual flicker) to re-measure, called on document.fonts.ready and on resize

3.3.0

  • New: Announcement Bar β€” add a full-width promotional banner above or below the navigation from MenuX β†’ Announcement in the admin sidebar; configure text, link, background color, text color, font size, vertical padding and position; optionally make it dismissible with a configurable expiry (localStorage); the bar renders exactly once per page even when multiple [menux] shortcodes are present; settings are included in Import/Export

3.2.1

  • New: Mobile accordion mode β€” a new toggle in the Mobile panel (“Close other submenus when one opens”) collapses sibling submenus at the same level whenever a new one is opened on mobile; works for all nesting levels and all mobile opening styles (dropdown, fullscreen, drawer)

3.2.0

  • New: Dropdown Indicator customization β€” choose between Triangle (β–Ύ), Chevron (βŒ„), Dot (β€’) or None for the arrow shown on items with submenus; set a custom color, size (6–24 px) and toggle the open/close rotation animation. Applies to all levels: top-level items animate on hover or mega-panel open, nested items rotate when their sub-submenu opens. Settings are included in Import/Export.

3.1.3

  • Fix: Sticky spacer height stale after Google Font load β€” when a Google Font was set, the font swap could change the nav height slightly after the initial measurement; document.fonts.ready now triggers a re-measure so the spacer is always the correct height when sticky first engages
  • Fix: Duplicate HTML IDs with multiple shortcodes on same page β€” using [menux] twice on the same page produced duplicate id attributes (menux-nav-main, menux-spacer, menux-list-main, menux-progress-bar); the shortcode now applies the same per-instance suffix strategy already used by the Gutenberg block

3.1.2

  • Fix: Overlay and Escape key fire multiple times with multiple nav instances β€” the overlay click and document Escape listener were registered once per nav element on the page; both are now bound exactly once and dispatch to all nav instances, so pressing Escape or clicking the backdrop always closes the correct open menu
  • Fix: Search results XSS with HTML in page text or menu labels β€” page text containing <, > or & characters was inserted into search result HTML without escaping, potentially breaking layout or allowing injected markup; all text piped through bmSmHL is now HTML-escaped before the <mark> replacement
  • Fix: Search “No results” display with special characters β€” the user’s query string was inserted raw into the “No results for …” message; it is now escaped before rendering
  • Fix: Admin language list XSS β€” language codes and labels returned by the multilingual-plugin AJAX endpoint were inserted into innerHTML without escaping; menux_esc() is now applied to both values

3.1.1

  • Fix: Scroll Progress Bar settings were never saved β€” enabling the progress bar and setting its color, height or position had no effect because the save handler dropped these four fields; they are now persisted and survive import/export
  • Fix: Sticky “Shrink on scroll” and “Transition duration” were never saved β€” both sticky options were rendered in the form but silently discarded on save; now persisted and included in import/export
  • Fix: Mega menu shortcode/widget columns β€” shortcodes that output forms, iframes or inputs (e.g. Contact Form 7, video embeds) were being stripped by output sanitisation; trusted admin shortcode output now renders intact while the surrounding markup stays sanitised
  • Fix: Mega panel overflow escape (Elementor) β€” the page-builder overflow workaround is now ref-counted across sibling mega items and correctly released when a panel is closed by clicking outside or via keyboard, so wrappers are never left with permanently broken clipping
  • Fix: Staggered entrance animation β€” menus with more than 20 top-level items no longer leave the items beyond the 20th permanently invisible
  • Fix: Sticky spacer height β€” the sticky placeholder height is now re-measured on resize and font reflow, preventing a content jump when the bar engages
  • Fix: Per-item mega Appearance editor β€” picking a background no longer wipes unsaved padding/gap/colour edits; every Appearance field now updates the live preview immediately, and the preview honours the per-item border radius and divider style
  • Fix: In-page search β€” clicking a specific result now jumps to that match instead of snapping back to the first; repeated searches no longer fragment the page text
  • Internal β€” aligned the mobile overlay opacity default (0.9) across all layers; removed a per-render document click-listener leak in the mega editor

3.1.0

  • Elementor compatibility β€” mega menu panels now correctly escape Elementor columns that use overflow:hidden; the JavaScript walks up the DOM on open and restores overflow values on close, so the panel is fully visible and receives mouse events correctly
  • Entrance animation z-index fix β€” themes with CSS entrance animations (Indigo Pulse: slideDown, Cosmic Dusk: fadeIn, Violet Cloud, Aurora Night, Ocean Electric, Cloud Glass) no longer trap the mega panel inside a stacking context; changed animation-fill-mode from both to backwards so no transform/opacity is retained after the animation ends, and added an animationend listener to remove the animation rule entirely
  • Nav bar right padding β€” WooCommerce cart icon and search icon no longer sit flush against the right edge of the menu bar; the container now applies the same horizontal padding on the right side as the link items use internally (minimum 8 px)
  • Mega menu border-radius β€” per-item border-radius now applies only to the two bottom corners of the panel, eliminating the visual gap between the nav bar and the panel top edge

3.0.0

  • Per-item mega menu appearance β€” each mega menu now has its own independent 🎨 Appearance tab inside the editor modal with full control over: background (solid color, 12 gradient presets or a custom gradient builder with direction selector and two color pickers), padding top/bottom, padding left/right, column gap, border radius, font size, link color, heading color, accent/icon color, link hover color, description color, divider color and divider style (solid/dashed/dotted); settings are saved per item and generate scoped CSS so each mega menu panel renders with a completely independent look; a “β†Ί Reset to global defaults” button clears all overrides for that item
  • Redesigned Mega Menu admin panel β€” the item list now shows clear ON/OFF status badges (green ⚑ ON / grey OFF) for each first-level nav item; items in OFF state show a dashed “οΌ‹ Enable Mega Menu” call-to-action button; items in ON state show the “⚑ Edit Columns β–Ά” primary button, a Full Width checkbox and a “βœ• Disable” link; the editor modal adds πŸ“‹ Content and 🎨 Appearance tab buttons in the toolbar for switching between the column editor and the per-item style panel
  • Sidebar reorganisation β€” ⚑ Mega Menu moved into the Structure group (alongside Menu Structure) since it configures what is in the menu, not how it looks; πŸ–ΌοΈ Logo moved into the Style group (below Colors) since it is a visual/brand setting; ✨ Themes added as a first-class sidebar entry at the top of the Style group for immediate discoverability
  • Themes panel accessible directly from sidebar β€” clicking ✨ Themes in the sidebar now opens the theme grid immediately without requiring a form save first; buildInlineThemeGrid() is called both on DOMContentLoaded and on every navigation to the Themes section
  • Descriptive empty-menu state β€” the builder sidebar empty state now shows a helpful message with a clickable link (“β†’ Go to Menu Structure”) rather than just “Empty menu”
  • Live preview empty state β€” the live preview also shows an informative message referencing Menu Structure when no items have been added

2.12.0

  • New: Duplicate Column button in the mega menu editor β€” clone any column (including all its items) and insert it right after the original; disabled automatically when the 4-column maximum is reached.
  • New: Column text alignment controls (L / C / R) in the mega menu editor β€” set per-column alignment for links and headings; stored as a column-level property and rendered via data-align CSS selectors.
  • New: Mega menu divider color and style settings β€” choose a custom color for column dividers and headings border, and select between solid, dashed or dotted line styles.
  • New: Mega menu open/close animation speed control β€” configure the panel transition duration (0–800 ms) from the Panel Appearance settings.

2.11.0

  • New: Dedicated Mega Menu text styling, independent from the main Colors section β€” separate controls for heading, link, link hover and description colors, plus the existing panel background.
  • New: Per-item heading and link color overrides in the mega menu editor (alongside the existing description color).
  • Improved: All 12 mega menu preset templates now ship with professional, high-contrast color palettes tuned to each template’s panel background, so they look polished out of the box regardless of the theme or main menu colors.
  • Fix: Mega menu text no longer borrows colors from the main navigation; applying a preset now also applies its colors end-to-end.

2.10.0

  • WooCommerce integration β€” adds a cart icon to the menu with a live item-count badge, an optional cart subtotal, and a mini-cart dropdown showing the current cart contents; the count, total and mini-cart refresh instantly when products are added, with no page reload, via WooCommerce’s native add-to-cart fragments
  • Cart icon options β€” choose between cart, bag or basket icons; place the cart on the left or right of the menu; customise the icon and count-badge colors; optionally hide the cart while it’s empty
  • Mini-cart behavior β€” open the dropdown on hover (with automatic tap-to-open on touch devices), on click, or disable it so the icon links straight to the cart page; closes on outside-click and Escape
  • Multi-instance & block safe β€” every cart icon on the page (header, footer, multiple Gutenberg blocks) updates together; works in classic themes via the shortcode and in FSE themes via the giuliomax/menu block
  • Graceful fallback β€” when WooCommerce is not installed the feature stays completely silent; the settings panel remains available and shows a notice
  • Import/Export parity β€” the new cart settings are included in configuration export and restored on import

2.9.0

  • Native Gutenberg block (giuliomax/menu) β€” adds a dynamic block registered via register_block_type() + block.json; the render_callback delegates entirely to the existing menux_render_shortcode() function so no HTML is duplicated; the shortcode, WP Menu Integration and all other existing features are completely unchanged
  • FSE / Site Editor support β€” the block works in Full Site Editing themes (e.g. Twenty Twenty-Five): drag it into any header template part from the Site Editor; the enqueue_block_editor_assets hook ensures Font Awesome 6, the configured Google Font, and the dynamic theme CSS are loaded inside the editor’s iframe; the mega-menu and hamburger JS initialise correctly in the template-preview iframe
  • InspectorControls sidebar β€” a SelectControl in the block sidebar lets you pick the menu location (Primary, Footer, Sidebar, Mobile); live preview updates via ServerSideRender using the REST block-renderer endpoint
  • Multi-instance ID safety β€” when two or more giuliomax/menu blocks appear on the same page, structural element IDs are automatically suffixed with a unique instance counter
  • No new build toolchain β€” the editor script is plain vanilla JS registered directly via wp_register_script(); no @wordpress/scripts, Webpack or npm required

2.8.0

  • Sticky mirror β€” new “Match main menu” toggle (on by default) makes the sticky bar inherit all styles from the main menu automatically; custom options shown when mirror is disabled
  • Container border-radius β€” new field in Layout β†’ Spacing to round the corners of the menu container
  • Page Load Animation β€” renamed from “Entrance Animation” with improved UX; duration/delay/stagger controls hidden when “None” is selected
  • Logo in live preview β€” the admin live preview now shows the configured logo at the correct position; updates immediately without a save
  • Mega Menu preset modal β€” the template grid was clipped after the first row; the grid wrapper now scrolls independently so all 12 templates are reachable

2.7.0

  • Help & Documentation modal β€” a full-screen contextual help overlay accessible from every section via the ❓ Help button; 12 sections covering every panel and field, navigable via a sidebar
  • Section persistence after save β€” saving settings returns the admin to the same panel section the user was in rather than jumping to the top

2.6.5

  • Rock-solid search modal β€” the open/close click handler now runs unconditionally at page load, independent of any JS configuration flag
  • Full deferred-script support β€” the plugin JS now detects whether the DOM is already parsed when the script executes; if an optimisation plugin adds defer, the init runs immediately

2.6.2

  • Visual gradient picker for container background β€” a fully mouse-driven widget: live preview strip, Linear / Radial type toggle, 8-direction compass rose, 0–360Β° fine-tune slider, two native colour pickers

2.6.0

  • Accordion menu builder β€” collapsible per-item editor with clearly labelled sections; streamlined Add pane; polished drag-and-drop rows

2.5.0

  • Google Font picker β€” searchable dropdown with 70+ fonts, lazy typeface preview, live update
  • Onboarding tutorial β€” floating 🐝 bee mascot auto-starts on first visit and guides through 4 steps
  • Search bar β€” moved to free tier; Menu tab + In-page search tab with full keyboard navigation

2.4.1

  • Accessibility master toggle β€” all WCAG features disabled by default, activated with a single switch
  • Close button color config β€” color pickers for the Γ— close button in Fullscreen/Drawer modes

2.4.0

  • Added complete Accessibility settings panel (WCAG 2.2 AA): keyboard navigation, focus ring, skip link, ARIA, touch targets, reduced motion, high-contrast, focus trap in mobile overlay

2.3.5

  • Added 12 demo templates for the Mega Menu editor β€” load a full column layout in one click

2.3.2

  • Mega Menu: gradient background picker with 12 presets and custom gradient builder; font size, link color, heading color and accent/icon color controls; icon picker for all item types; drag & drop reordering

2.3.0

  • Introduced Mega Menu β€” full-width column panels for first-level nav items (free); up to 4 columns, 5 item types, mobile support

2.2.0

  • Added 20 preset themes, link border-radius, submenu styling, WP Menu Integration, full Reset button

2.1.1

  • Initial release β€” builder, 4 mobile modes, sticky, scroll progress bar, entrance animations, import/export, multilingual

Plugin Website
Visit website

Author
giuliomax
Version:
3.4.1
Last Updated
June 8, 2026
Requires
WordPress 5.8
Tested Up To
WordPress 7.0
Requires PHP
7.4

Share Post

Join our newsletter.

Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.