WordPress Chat Widget: Floating Bubble and Mini Widgets
A messenger that lives only on its own page is half a messenger — members have to remember to visit. A chat widget that follows them across the site (and is one click away on every page) keeps the messenger present, which keeps the conversations active. Better Messages ships Mini Widgets — a configurable widget layer with two display styles (Floating Bubble or bottom-tab bar), four placements (bottom bar, side panel, mobile bar, floating bubble), and dedicated tabs for Friends, Groups, Courses, Spaces, AI Bots, and Chat Rooms.
Two display styles
Choose per site:
- Bottom tab bar (classic) — a horizontal bar pinned to the bottom of every page, with tabs for the user's recent conversations and the configured widget tabs. Closer to a desktop messenger.
- Floating Bubble — a circular button in the corner, like a Crisp / Intercom chat bubble. Click to expand into a chat panel; click outside to collapse. Closer to a standard SaaS support chat.
Both styles share the same underlying widgets — only the chrome differs.
Tabs you can add to the widget
Each widget tab can be enabled or disabled per site, with its own icon and label:
- Conversations — recent threads, with unread badges.
- Friends — the user's friend list (BuddyPress / BuddyBoss / PeepSo / UM / FluentCommunity Friends), with quick-DM.
- Groups — paired group chats from the user's community-plugin groups.
- Spaces — FluentCommunity Spaces (separate from social Groups).
- Courses — LMS course chats (LearnDash / LearnPress / Tutor LMS / MasterStudy / FluentCommunity Courses).
- Chat Rooms — public or members-only chat rooms the user has access to.
- AI Bots — start or continue conversations with configured AI Chat Bots.
- Users — browse and message any site member, with optional online-only filter and three display modes (all / by role / hand-picked).
Tabs can be reordered. The most common combination for a community site: Conversations + Friends + Groups + Chat Rooms.
Per-role visibility
Each widget can be restricted to specific WordPress roles. Common patterns:
- Free members see only Conversations.
- Paid members see Conversations + Friends + Groups + Courses.
- Staff / admins see everything + Users.
Hide tabs when empty
The Friends / Groups / Courses / Spaces tabs can be set to hide when empty for that user — a member with no friends does not see an empty Friends tab. Reduces UI clutter for new users.
Where the widget shows up
By default the widget renders on every page of the site, except:
- Inside the messenger page itself (redundant)
- Inside wp-admin
- On pages blocked by the per-role / per-page restriction filter
A custom filter lets you exclude specific pages (checkout, landing pages, etc.).
Mobile mode
On mobile (below the configured breakpoint), the bottom-tab bar style switches to a full-screen mobile UI on tab click. The Floating Bubble style remains a bubble but expands into a full-screen panel when tapped.
Installing mini widgets
Mini widgets are part of the core plugin — no separate install.
- Install Better Messages from WordPress.org and activate it.
- Open WP Admin → Better Messages → Settings → Mini Widgets.
- Pick a display style (Floating Bubble or Bottom Tab Bar).
- Enable the tabs you want; configure icons, role restrictions, and "Hide Tab When Empty" behavior per tab.
- Save. The widget appears site-wide for users with permission.
Free vs WebSocket version
Mini Widgets work on both versions. The differences:
| Feature | Free version | WebSocket version |
|---|---|---|
| Floating Bubble + bottom-tab bar | yes | yes |
| Friends / Groups / Courses / Spaces / AI Bots / Users tabs | yes | yes |
| Per-role visibility | yes | yes |
| Real-time unread badge updates | polling | instant |
| Mini-chat popups from member profiles | — | yes |
| Online presence dot in the Users tab | — | yes |
The mini-chat popup (WebSocket version) is the single biggest UX upgrade with the widget — clicking a friend in the Friends tab opens a chat overlay without redirecting to the messages page. Members stay on the article / course / product page they were reading.
Frequently asked questions
Can I disable the widget on specific pages?
Yes — use the better_messages_mini_widgets_excluded_pages filter, or list page URLs in the admin's exclusion field.
Does it conflict with WooCommerce floating cart / Crisp / Intercom?
The widget tries to position itself out of the way of common floating UI. For specific conflicts, the widget's position is configurable (left / right corner, bottom offset).
Will the widget show for guests?
Optional. With Guest Chat enabled, unregistered visitors see the widget and can start a thread without registering.
Can I have only the Conversations tab without the others?
Yes — enable just Conversations, disable every other tab.
Does the Users tab show every site user?
The Users tab is configurable — show all users, filter by role, or hand-pick specific users (e.g. "show only these 3 instructors"). Optionally filter to online-only, order by online-first, sort by last activity / registration date.
See also
- Mini widgets documentation — full feature reference
- WordPress community chat plugin — comparing community platforms that benefit from the widget
- Real-time messaging — what changes with the WebSocket version