Floating Menu by 007AJ v1.0.3

Adds an accessible floating menu (or mobile bottom bar) of quick-action buttons to your WordPress site. Requires WordPress 6.0+ and PHP 7.4+ (tested to PHP 8.5). By 007AJ.

Need help? See Getting support for how to contact us.

1. Install

  1. Plugins > Add New > Upload Plugin, choose the zip, click Install Now, then turn the plugin on.
  2. The setup wizard opens automatically (first time only).

No account or external service is needed. The plugin never contacts other servers.

2. Setup wizard

Found at Floating Menu > Setup wizard (you can re-run it any time from Settings).

  1. Where should it sit? choose a position.
  2. Pick a color for the buttons.
  3. Starter buttons: Home page link, Call us (enter a number), Email us (pre-filled with the site admin email), Back to top.
  4. Show it on my site now: leave unticked to fine-tune first.

Click Create my menu to open the builder, or Skip the wizard.

3. Building a menu

Go to Floating Menu > Menus. You can have any number of menus: the list shows each menu's status, position and where it shows, with Edit, Duplicate and Delete links. Click Add new menu to create one. Duplicates start disabled.

SectionWhat it does
GeneralMenu name (also used as the screen reader label) and Show this menu on the site. A menu is only shown when this is ticked and it has at least one item.
Menu itemsBuild my own items: click + Add item, choose Type, Label, Icon and the value. Use the arrows to reorder and the cross to remove (up to 30 items).
Use an existing WordPress menu: pick a menu from Appearance > Menus. Its top-level items become link buttons (link icon, "open in new tab" follows the menu item setting).
Position & behaviourPosition, Open/close button (collapse items behind a toggle), Start open, Toggle icon, Labels (Tooltip on hover/focus, Always visible, Screen readers only), Animation.
Style Presets (Indigo, Ocean, Forest, Sunset, Monochrome, Midnight, Chat green) fill the colors and shape in one click.
Button color, Icon color, Toggle color, Toggle icon color, Shape (Circle, Rounded square, Square), Button size (32-80 px), Space between buttons (0-40 px), Distance from screen edge (0-120 px).
Display rulesSee Display rules.

The Live preview on the right updates as you type. Use Desktop/Mobile to switch the preview frame, and click the preview's toggle to open/close it. Click Save menu to apply.

4. Item types

TypeValueResult
LinkAny URL. Optional "Open in new tab".Opens the URL.
Phone callNumber, e.g. +15551234567tel: link.
EmailEmail addressmailto: link.
Scroll to topnoneSmoothly scrolls to the top (instant if the visitor prefers reduced motion).
WhatsAppNumber with country code, digits only (e.g. 15551234567) + optional Pre-filled messageOpens wa.me chat in a new tab.
Popup (text or shortcode)Text, HTML or a shortcode, e.g. a contact form shortcodeOpens an accessible dialog. Tab and Shift+Tab cycle only through the visible, enabled controls in the popup; Escape, the close button or a backdrop click closes it and focus returns to the button that opened it.
Copy page linknoneCopies the current page URL and shows "Link copied".
Share pagenoneOpens the device share sheet; falls back to copying the link.

Icons are bundled inline SVGs (30 icons). Nothing is loaded from a CDN.

5. Positions

Animations: Fade, plus None, Slide, Pop and Stagger. All animation is disabled for visitors with "reduce motion" turned on.

6. Display rules

RuleOptions
WhereEverywhere; Only on the content selected below; Everywhere except the content selected below. Targets: Front page checkbox, Page/post IDs (comma separated), Category/tag/term IDs (matches the term archive and every post in it), Post types (singular pages and archives).
VisitorsEveryone, Logged-in users only, Logged-out visitors only.
User rolesTick roles to limit to them (hides the menu from logged-out visitors). Empty = any.
DevicesDesktop and mobile, Desktop only (wider than 768px), Mobile only (768px and narrower). Done with CSS so it works with page caching.

If several menus match a page, all of them are shown, so give them different positions.

7. Click stats

Floating Menu > Click stats shows clicks per button for the last 7, 30, 90 or 365 days. Counts are stored in your own database table (wp_fmb_clicks) as one daily total per button: no cookies, IP addresses or personal data, and no external service. A daily WP-Cron job deletes rows older than the retention set in Settings (default 90 days). Clear stats empties the table. Counts follow button position, so reordering items shifts older counts.

8. Import / Export

Download export saves all menus and settings as JSON. Import accepts that file (max 500 KB) and has two modes:

ModeMenusSettings
Add to my existing menus (default)Imported menus are added as new, disabled menus. Your existing menus are kept.Not changed. Click stats on/off, Keep stats for and Uninstall stay exactly as they are on this site.
Replace everythingAll menus are replaced by the menus in the file (their on/off state is kept).Click stats on/off and Keep stats for are taken from the file. The Uninstall preference is kept as it is on this site unless you also tick Also import the Uninstall preference.

Warning: if you tick Also import the Uninstall preference and the file has "Delete all menus, settings and stats when the plugin is deleted" turned on, deleting the plugin later will permanently remove all menus, settings and click stats. After importing, check Settings > Uninstall.

Settings

Only administrators (manage_options) can access the plugin screens.

Accessibility & performance

FAQ

The menu does not show. Check "Show this menu on the site" is ticked, the menu has items, and the display rules match the page (try Everywhere / Everyone). Clear any page cache.

It covers my chat widget / cookie bar. Change the position or increase "Distance from screen edge".

Developers: filter fmb_active_menus receives the menus about to be displayed on the current request.

Getting support

If something does not work as described, or you have a question about the plugin, please contact the 007AJ team. Check the FAQ first, as it covers the most common issues.

Where to send a support request

How to submit a request

  1. Open one of the support channels above.
  2. Use a subject such as Floating Menu by 007AJ: short description of the problem.
  3. Include the details listed below, then send the message.
  4. We reply in the same place (your dashboard messages or WPBay). Please keep follow-ups in that same conversation.

What to include

Please do not send passwords or other login details in a first message. If we need access to your site to investigate, we will ask and explain how to share it safely.

Changelog

1.0.3 Accessibility: the popup focus trap now only uses controls that can really be reached with Tab (hidden inputs, disabled controls, negative tabindex and hidden elements are skipped, and the list is rebuilt on every Tab press). Empty popups focus the dialog itself; closing returns focus to the opening button.

1.0.2 Fixed: the front-end script now starts once the page is ready and the menu is printed before footer scripts, so toggle, Escape, popups, copy, share, scroll to top and click stats work on WordPress 6.0-6.2 and current versions. Fixed: "Add to my existing menus" imports no longer change your settings. "Replace everything" imports click stats settings, and the Uninstall preference only with a separate, clearly labelled checkbox.

1.0.1 Added a Getting support section to the documentation with contact links and instructions for submitting a request. Added a Get support button to the Documentation screen.

1.0.0 First release.