Title: Fly Nav Mobile
Author: Aamir Faiz
Published: <strong>October 19, 2024</strong>
Last modified: July 20, 2026

---

Search plugins

![](https://ps.w.org/fly-nav-mobile/assets/banner-772x250.png?rev=3616089)

![](https://ps.w.org/fly-nav-mobile/assets/icon-256x256.png?rev=3616089)

# Fly Nav Mobile

 By [Aamir Faiz](https://profiles.wordpress.org/aamirfaiz/)

[Download](https://downloads.wordpress.org/plugin/fly-nav-mobile.3.0.1.zip)

 * [Details](https://vec.wordpress.org/plugins/fly-nav-mobile/#description)
 * [Reviews](https://vec.wordpress.org/plugins/fly-nav-mobile/#reviews)
 *  [Installation](https://vec.wordpress.org/plugins/fly-nav-mobile/#installation)
 * [Development](https://vec.wordpress.org/plugins/fly-nav-mobile/#developers)

 [Support](https://wordpress.org/support/plugin/fly-nav-mobile/)

## Description

**Fly Nav Mobile** replaces your theme’s mobile header with a lightweight navigation
experience that you control. Choose a compact top dropdown, an off-canvas drawer,
or an app-style bottom bar—without adding a frontend framework, third-party library,
or public JavaScript.

Version 3 is a ground-up rebuild focused on reliable caching, accessible native 
controls, safer setup, deeper menu support, and cleaner theme integration. The same
stable navigation markup is rendered for every visitor, while CSS applies your chosen
mobile breakpoint. This avoids the desktop/mobile cache mismatch caused by server-
side device detection.

#### What’s new in Fly Nav Mobile 3

 * **Three complete layouts** — top dropdown, off-canvas drawer, and configurable
   bottom navigation.
 * **Accessible native controls** — menu, search, and nested submenus use semantic
   disclosure elements with visible focus and screen-reader labels.
 * **Unlimited submenu depth** — recursive WordPress menus receive independent submenu
   toggles at every level.
 * **Cache-safe delivery** — responsive CSS replaces server-side mobile detection,
   with no public JavaScript.
 * **Safer first-time setup** — new installations stay disabled until you select
   a menu, confirm the theme-header selector, and explicitly enable the replacement.
 * **Improved visual selector** — choose theme header elements visually, review 
   match counts, use presets, combine selectors, or enter them manually.
 * **Flexible bottom actions** — assign Home, Search, Logo, Menu, Account, or an
   empty slot to the left, center, and right positions.
 * **Stronger compatibility** — legacy settings, logo URLs, classic menus, old-theme
   footer fallback, RTL layouts, safe areas, and multisite uninstall are handled
   deliberately.

#### Refined in version 3.0.1

 * Lighter menu and search panels with softer borders, shadows, and spacing after
   mobile installation testing.
 * 44px submenu and search controls for more comfortable touch interaction.
 * Fresh-install enable safeguards that preserve active behavior for configured 
   upgrades.
 * Expanded verification across WordPress 5.0, 6.0, and 7.0.2; PHP 7.4 and 8.4; 
   classic themes, block themes, page caching, fallback rendering, and uninstall
   cleanup.

#### Choose your mobile layout

 * **Top dropdown** — A compact logo, search, and hamburger header with a dropdown
   panel.
 * **Off-canvas drawer** — A sticky header with a scrollable side navigation panel.
 * **App-style bottom bar** — A safe-area-aware bottom bar with configurable left,
   center, and right actions.

#### Key features

 * No frontend JavaScript or third-party libraries.
 * Cache-safe responsive rendering without server-side mobile detection.
 * Native keyboard- and screen-reader-friendly disclosure controls.
 * Unlimited WordPress menu levels with independent submenu toggles.
 * Configurable mobile breakpoint and panel width.
 * Visual theme-header selector with selector match feedback.
 * Multiple theme-header selectors and common theme presets.
 * Media Library logo selection with legacy URL compatibility.
 * Search, Home, Logo, Menu, Account, or empty bottom-bar slots.
 * Sticky navigation, safe-area support, visible focus styles, and reduced-motion
   support.
 * Scoped CSS variables for colors, typography, sizing, and custom CSS.
 * Works alongside classic and block themes using your selected registered WordPress
   menu.
 * Publicly disabled on fresh installs until you are ready to switch it on.

### Credits

Developed by WPGeared.

## Screenshots

[⌊Top dropdown navigation.⌉⌊Top dropdown navigation.⌉[

Top dropdown navigation.

[⌊Off-canvas drawer with nested menus.⌉⌊Off-canvas drawer with nested menus.⌉[

Off-canvas drawer with nested menus.

## Installation

 1. Install and activate Fly Nav Mobile.
 2. Open **Fly Menu** in the WordPress administration menu.
 3. Select a WordPress navigation menu and optional logo.
 4. Choose a top, drawer, or bottom layout.
 5. Use **Visual select** or enter CSS selectors for the theme header that should be
    hidden on mobile.
 6. Enable the public navigation, save the settings, and test at or below the configured
    breakpoint.

Fresh installations remain disabled until you explicitly enable the public navigation.
Existing configured installations remain enabled during upgrade.

## FAQ

### Does the public menu load JavaScript?

No. Public navigation uses native HTML disclosure elements and CSS. JavaScript is
used only on the plugin’s administration screen for Media Library selection, tabs,
color pickers, and the visual selector.

### Will it work with full-page caching?

Yes. The plugin does not use `wp_is_mobile()` to change public markup. The same 
small navigation component is rendered consistently and displayed through the configured
CSS breakpoint.

### Can I hide more than one theme header element?

Yes. Enter comma-separated ID or class selectors. The visual selector reports whether
a selector matches zero, one, or multiple elements in the preview.

### How many submenu levels are supported?

The menu walker supports all levels supplied by the selected WordPress menu. Every
item with children receives its own native disclosure control.

### What happens to an existing logo URL after upgrading?

It continues to work. New Media Library selections are stored by attachment ID, 
and the plugin keeps a legacy URL fallback. It never downloads media while rendering
a public page.

### Why does the off-canvas layout stay sticky?

The native menu summary remains visible so keyboard, touch, and pointer users always
have a reliable way to close the drawer without frontend scripting.

### Which environments were verified for version 3.0.1?

Automated integration checks cover WordPress 5.0, 6.0, and 7.0.2 with representative
classic, block, and no-`wp_body_open()` themes. Runtime checks passed on PHP 7.4
and PHP 8.4. PHP 7.2 remains the declared minimum and the source uses compatible
syntax, but that exact runtime was not available in the release environment. Theme-
header selectors remain site-specific and should be confirmed before enabling the
replacement.

## Reviews

![](https://secure.gravatar.com/avatar/0b6492cff48b5717d801cd53ae201d14c01fd31949da15c0d7dee1b1a7baf9d0?
s=60&d=retro&r=g)

### 󠀁[Simple and nice](https://wordpress.org/support/topic/simple-and-nice-99/)󠁿

 [Enhance](https://profiles.wordpress.org/skariko/) November 16, 2024

It seems to me to be a good plugin at the initial stage. The absence of JavaScript
is great and it worked for me on the fly the first time. A few options are missing
in my opinion for example I would like the logo to be linked to the homepage and
the ability to remove the magnifying glass (or have it link to something else).

 [ Read all 1 review ](https://wordpress.org/support/plugin/fly-nav-mobile/reviews/)

## Contributors & Developers

“Fly Nav Mobile” is open source software. The following people have contributed 
to this plugin.

Contributors

 *   [ Aamir Faiz ](https://profiles.wordpress.org/aamirfaiz/)
 *   [ WPGeared ](https://profiles.wordpress.org/wpgeared/)

[Translate “Fly Nav Mobile” into your language.](https://translate.wordpress.org/projects/wp-plugins/fly-nav-mobile)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/fly-nav-mobile/), check
out the [SVN repository](https://plugins.svn.wordpress.org/fly-nav-mobile/), or 
subscribe to the [development log](https://plugins.trac.wordpress.org/log/fly-nav-mobile/)
by [RSS](https://plugins.trac.wordpress.org/log/fly-nav-mobile/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 3.0.1

 * Added a safer disabled-by-default state for new installations while preserving
   configured upgrades.
 * Lightened the mobile menu panel by removing the heavy inner frame and softening
   its border and shadow.
 * Matched the plugin search popup to the lighter menu-panel treatment without affecting
   theme search forms.
 * Corrected nested submenu controls and the search field to meet the 44px touch-
   target goal.
 * Hardened old-theme footer fallback, safe-area spacing, RTL behavior, settings
   accessibility, selector sandboxing, logo precedence, and numeric bounds.
 * Expanded release verification across WordPress 5.0, 6.0, and 7.0.2; PHP 7.4 and
   8.4; classic and block themes; full-page caching; all layouts; nested menus; 
   uninstall cleanup; and runtime-only packaging.

#### 3.0.0

 * Rebuilt public rendering to be cache-safe and responsive-CSS-driven.
 * Replaced checkbox toggles with native accessible disclosure controls.
 * Added top dropdown, off-canvas drawer, and configurable bottom-bar layouts.
 * Added recursive submenu support without a depth limit.
 * Added configurable breakpoint, panel width, and bottom action slots.
 * Added visible focus, reduced-motion, safe-area, and admin-bar handling.
 * Consolidated persistence into one settings schema and sanitizer.
 * Added legacy custom CSS migration and logo URL compatibility.
 * Improved visual selector feedback, manual entry, multiple selectors, and presets.
 * Removed frontend media downloads, duplicate save handlers, and invalid callbacks.
 * Improved multisite uninstall cleanup.

#### 2.4.2

 * Reduced tags to match WordPress.org repository limits.

#### 2.4.1

 * Prefixed custom walker hooks and corrected escaped output.

#### 2.1.0

 * Added the original app-style bottom navigation option.

## Meta

 *  Version **3.0.1**
 *  Last updated **3 weeks ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.0 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 7.2 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/fly-nav-mobile/)
 * Tags
 * [accessibility](https://vec.wordpress.org/plugins/tags/accessibility/)[bottom navigation](https://vec.wordpress.org/plugins/tags/bottom-navigation/)
   [hamburger menu](https://vec.wordpress.org/plugins/tags/hamburger-menu/)[mobile menu](https://vec.wordpress.org/plugins/tags/mobile-menu/)
   [navigation](https://vec.wordpress.org/plugins/tags/navigation/)
 *  [Advanced View](https://vec.wordpress.org/plugins/fly-nav-mobile/advanced/)

## Ratings

 4 out of 5 stars.

 *  [  0 5-star reviews     ](https://wordpress.org/support/plugin/fly-nav-mobile/reviews/?filter=5)
 *  [  1 4-star review     ](https://wordpress.org/support/plugin/fly-nav-mobile/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/fly-nav-mobile/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/fly-nav-mobile/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/fly-nav-mobile/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/fly-nav-mobile/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/fly-nav-mobile/reviews/)

## Contributors

 *   [ Aamir Faiz ](https://profiles.wordpress.org/aamirfaiz/)
 *   [ WPGeared ](https://profiles.wordpress.org/wpgeared/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/fly-nav-mobile/)