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
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