=== Aha Mobile Menu ===
Contributors: estevao_acioli
Tags: mobile menu, off-canvas, responsive, navigation
Requires at least: 5.9
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.0.7
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0-or-later
Donate link: https://ahaplugins.com/
Lightweight and customizable off-canvas mobile menu for WordPress. Create fast, responsive and modern mobile navigation with improved user experience.
== Description ==
Lightweight mobile menu (off-canvas) for WordPress. Works on desktop too. Aha Mobile Menu adds a simple, fast, and customizable off-canvas menu to your site: it slides in from the left or right with slide or fade animation, and can be shown on mobile only or on desktop as well.
[youtube https://www.youtube.com/watch?v=Q8qZbaStl-o]
[__Product page__](https://ahaplugins.com/product/aha-mobile-menu/) | [__Documentation__](https://ahaplugins.com/documentation) | [__Support__](https://ahaplugins.com/support) | [__Pro add-on__](https://ahaplugins.com/product/aha-mobile-menu/)
**Features:**
* Enable/disable the menu and choose position (left or right)
* Slide or fade animation
* Optional: show only on mobile (viewport < 768px) or on all devices
* Logo at the top of the menu
* WordPress navigation menu selection
* Built-in search box
* Social links with automatic icons (Facebook, Instagram, Twitter/X, LinkedIn, YouTube, WhatsApp, and more)
* Color customization: background, text, close button, search, menu links, social icons
* Color palettes for quick styling (default, dark, light, purple, blue, green, etc.)
* Close on click outside and on navigation
* Configurable trigger: default class `aha-open-sidebar` or custom CSS selectors
* Page and post type exclusions so the menu is not loaded where you don't need it
* Hooks for customization
* **Uninstall** tab: choose whether to remove plugin options from the database when the plugin is **deleted** from **Plugins → Installed Plugins** (not on deactivate alone). If you use **Aha Mobile Menu Pro**, the same preference applies when removing the Pro add-on’s license option.
= Demo, documentation & addons =
Watch a demo, read the full documentation, and learn about available addons on the [Aha Mobile Menu Product Page](https://ahaplugins.com/product/aha-mobile-menu/).
= Video tutorial =
Step-by-step setup: [Aha Mobile Menu tutorial on YouTube](https://www.youtube.com/watch?v=Q8qZbaStl-o).
= Requirements =
* Your theme must provide a button or element with the trigger class (e.g. `aha-open-sidebar`) to open the menu. Add this class to your hamburger icon or menu toggle.
**Discover more WordPress plugins:** [Visit Aha Plugins](https://ahaplugins.com/plugins)
== Installation ==
1. Install the plugin via **Plugins → Add new** (search for "Aha Mobile Menu") or upload the ZIP file.
2. Click **Activate**.
3. Go to **Aha Mobile Menu** in the admin sidebar to configure the menu (position, content, colors, behavior).
4. Ensure your theme outputs a menu toggle (e.g. a button with class `aha-open-sidebar`) so users can open the menu on mobile.
= Manual installation via FTP =
1. Unzip the plugin ZIP on your computer.
2. Upload the `aha-mobile-menu` folder to `wp-content/plugins/`.
3. In WordPress admin, go to **Plugins** and activate **Aha Mobile Menu**.
== Frequently Asked Questions ==
= The menu doesn't open when I tap the hamburger. =
Make sure your theme's menu toggle (hamburger icon or link) has the class `aha-open-sidebar`, or add a custom trigger in **Aha Mobile Menu → Behavior → Additional Trigger Classes**.
= Can I use this on desktop too? =
Yes. In **Aha Mobile Menu → General**, uncheck "Mobile only" to show the menu on all screen sizes.
= Where can I learn about available addons? =
Visit the product page to explore available addons and complements for Aha Mobile Menu: [Explore Addons](https://ahaplugins.com/product/aha-mobile-menu/)
= Is there a video tutorial? =
Yes. See [this YouTube tutorial](https://www.youtube.com/watch?v=Q8qZbaStl-o).
= My block theme does not show Appearance → Menus. How do I create a menu for this plugin? =
In **Aha Mobile Menu → Content**, use the link under **Menu to Display** to open the classic **Menus** screen (`nav-menus.php`), or go directly to `yoursite.com/wp-admin/nav-menus.php` in your browser. Create your menu there, then select it in the plugin settings.
= What happens when I uninstall or delete the plugin? =
Deactivating leaves your settings in the database. **Deleting** the plugin runs `uninstall.php`. Data is only removed if you enabled **Remove all plugin data when the plugin is deleted** on the **Uninstall** tab before deletion. Your WordPress menus, pages, and media are never deleted by this plugin.
= Does the plugin provide hooks for developers? =
Yes. Aha Mobile Menu exposes **20+ action hooks** and **15+ filters** so you can extend or modify its behavior without editing plugin files. See the highlights below or visit the [full hooks reference](https://ahaplugins.com/documentation/hooks/) for code examples.
**Sidebar injection points (actions):**
`aha_mobile_menu_header_start`, `aha_mobile_menu_header_end`, `aha_mobile_menu_before_menu`, `aha_mobile_menu_after_menu`, `aha_mobile_menu_before_search`, `aha_mobile_menu_after_search`, `aha_mobile_menu_footer_start`, `aha_mobile_menu_footer_end`, and more.
**Frontend filters:**
`aha_mobile_menu_pre_render`, `aha_mobile_menu_enqueue_assets`, `aha_mobile_menu_trigger_classes`, `aha_mobile_menu_menu_args`, `aha_mobile_menu_sidebar_classes`, `aha_mobile_menu_inline_styles`, and more.
**Add-on integration:**
`aha_mobile_menu_settings_tabs`, `aha_mobile_menu_social_networks`, `aha_mobile_menu_uninstall_option_names`, and more.
Quick example — add content below the navigation menu:
`add_action( 'aha_mobile_menu_after_menu', function() { echo 'Contact us'; } );`
→ [View the full Hooks Reference with examples](https://documentation.ahaplugins.com/aha-mobile-menu-pro/#hooks)
== Screenshots ==
1. Mobile Menu
2. Settings page – General tab
3. Settings page – Content tab (logo, menu, search, social)
4. Settings page – Appearance tab (colors)
5. Settings page – Exclusions tab
6. Settings page – Menu appearance & Shortcode tabs
7. Mobile Menu - Actions Buttons
== Changelog ==
= 1.0.7 - April 30, 2026 =
* **Refactored settings architecture**: Settings now stored in five separate per-tab WordPress options instead of a single unified option.
* **Fixed checkbox reset bug**: Saving settings on one tab no longer resets checkboxes on other tabs.
* Per-tab options: `aha_mobile_menu_general`, `aha_mobile_menu_content`, `aha_mobile_menu_appearance`, `aha_mobile_menu_exclusions`, `aha_mobile_menu_trigger`.
* Automatic one-time migration from legacy unified option on first load; settings are preserved and distributed to correct per-tab options.
* New hooks for add-ons: `aha_mobile_menu_get_settings` (inject custom settings data) and `aha_mobile_menu_tab_option_group` (register custom tab option group).
* **Aha Mobile Menu Pro updated to 1.0.3**: Action Buttons now use dedicated `aha_mobile_menu_action_buttons` option; integrated with new per-tab architecture via hooks.
= 1.0.6 - April 10, 2026 =
* Settings: **Menu icon** tab renamed to **Menu appearance** (default look of the trigger button).
* New **Shortcode** tab: documentation for `[aha_mobile_menu_trigger]` (copy field, parameters, examples, page builders) — shortcode help removed from the appearance tab.
* Admin settings sidebar: promo area updated to match the Aha Start Plugin layout (three info cards + product CTA).
* **Brazilian Portuguese (pt_BR)** strings completed and revised for the new UI.
= 1.0.5 - April 8, 2026 =
* Plugin code reorganized into structured subfolders (`Admin`, `Frontend`, `Hooks`, `Settings`, `Helpers`) to serve as a clean base for the Aha Plugins framework.
* Settings page: only the active tab is rendered server-side (performance improvement — previously all tabs were output and hidden via CSS).
* Admin classes separated: assets (`class-admin-assets.php`), notices (`class-admin-notices.php`), and utilities (`class-admin-utilities.php`) extracted from the main settings class.
* Added **Settings** quick-link on the Plugins list page.
* Admin page HTML extracted into dedicated templates (`templates/admin/page-header.php`, `templates/admin/page-sidebar.php`).
* Frontend sidebar template moved to `templates/frontend/sidebar.php`.
= 1.0.4 - April 4, 2026 =
* Front-end **JavaScript** and **CSS** adjustments to reduce conflicts with themes, templates, and other plugins (selector specificity, safer hooks, and layout isolation where applicable).
= 1.0.3 - April 4, 2026 =
* **Uninstall** tab: optional removal of plugin data when the plugin is deleted; `uninstall.php` clears stored options when enabled (aligned with Aha Woo Customer Export behavior).
* If **Aha Mobile Menu Pro** is installed, deleting the free plugin with this option enabled also removes the Pro license option from the database.
= 1.0.2 - April 3, 2026 =
* New **Action Buttons** settings tab (preview and links to the add-on and video demo).
* Trigger links: prevent default navigation when opening the menu (e.g. `aha-open-sidebar` on ``).
= 1.0.1 - March 27, 2026 =
* Fixed saving when all social links are removed (list can be cleared correctly).
* Settings: link to the classic Menus screen for themes that hide Appearance → Menus.
* Prompt to rate the plugin on WordPress.org (dismissible notice and sidebar link).
= 1.0.0 - March 22, 2026 =
* Initial release.
== Upgrade Notice ==
= 1.0.7 =
Major refactor: Settings now use separate WordPress options per tab (fixes bug where saving one tab reset checkboxes on others). Automatic migration preserves all settings. **Aha Mobile Menu Pro should be updated to 1.0.3 or later**.
= 1.0.6 =
Settings UI update: Menu appearance + dedicated Shortcode tab; sidebar promo layout refresh. No database or front-end breaking changes.
= 1.0.5 =
Internal code reorganization and performance improvement (settings tabs); no changes to frontend behavior or database.
= 1.0.4 =
Compatibility fixes in JS/CSS; clear caches or minified asset bundles if your host/CDN serves old files.
= 1.0.3 =
Adds an Uninstall settings tab and optional database cleanup when the plugin is deleted.
= 1.0.2 =
Action Buttons tab preview, trigger link fix, and compatibility with Aha Mobile Menu Pro updates.