Unread Conversations Filter
Better Messages adds an unread filter toggle to the conversation list — one click hides every read thread and shows only the ones with new messages. Essential for users who run busy inboxes (community managers, marketplace vendors, support reps, instructors) where dozens of threads compete for attention.
What it adds#
- One-click filter button in the conversation list header
- Toggles between "All conversations" and "Unread only" views
- Configurable unread counter — count unread messages OR unread conversations
- Works across DMs, group chats, and chat rooms
- Filter state remembered per-session — survives page reloads
- Live updates — a new message arriving changes the filter result instantly (WebSocket version)
How it works#
The unread filter is a UI-only toggle that doesn't delete or archive anything — it temporarily hides read threads from the rendered list. The underlying data is unchanged. Clicking "All conversations" restores the full list.
| Counter mode | What the badge shows |
|---|---|
| Unread messages | Total count of unread messages across all threads (e.g., "47") |
| Unread conversations | Count of conversations with at least one unread (e.g., "12") |
The two modes serve different mental models:
- "Unread messages" is the traditional inbox count — useful when each message represents a task to address
- "Unread conversations" matches the Slack/Discord style — counts distinct threads regardless of message volume in each. Useful for community managers where one chatty thread shouldn't dominate the badge
When to use each counter mode#
| Site type | Suggested counter mode |
|---|---|
| Support / help desk | Messages — each message is potentially a question to answer |
| Community manager dashboard | Conversations — focus on which threads need attention, not how chatty each is |
| Marketplace vendor inbox | Messages — each buyer message is a potential sale |
| LMS instructor | Conversations — each student thread is one "context" to mentally load |
| Personal messaging | Conversations — matches the iMessage / WhatsApp pattern |
How to enable#
Navigate to WP Admin → Better Messages → Settings → Messaging.
- Enable Unread Filter — Show the unread filter button in the conversation list
- Unread Counter — Choose between counting unread messages or unread conversations
Frequently asked questions#
Does the filter affect search and notifications?#
No. Search results show matches across all threads regardless of the filter. Notifications continue to fire for new messages in read or filtered threads — the filter only changes the visual presentation of the list.
What counts as "read"?#
A conversation is read when the user has opened it and the latest message has appeared in their viewport for at least 1 second. The read flag is per-user — your read state doesn't affect other participants.
Can I have separate counter modes for different users?#
No — the counter mode is a site-wide setting. To support per-user preferences, customize the React component via the JavaScript hooks.
Is the filter available in mini-chat popups?#
Mini-chats show a single conversation at a time, not a list, so the filter doesn't apply there. The unread count badge on the mini-chat trigger respects the configured counter mode.
Does the unread filter respect muted conversations?#
Yes. Muted conversations don't contribute to the unread count and are not surfaced by the filter even when they have unread messages.
See also#
- Conversation muting — silence noisy threads without leaving
- Search — find specific messages across all conversations
- Site notifications — how unread state ties into in-app notifications
- Favorite messages — bookmark messages independent of read state