Block Users in WordPress Chat: User-to-User Blocking
Every messaging surface eventually deals with the same UX requirement: let members opt out of messages from specific other members, without involving an admin. WhatsApp, Signal, Telegram, Discord, Slack — all of them have a "Block this user" option in the conversation menu. Better Messages has the same: users block each other directly, the block is one-directional, and admins can control which roles are allowed to block and which roles are immune to being blocked.
How user-to-user blocking works#
When user A blocks user B:
- B can no longer send messages to A.
- B can no longer start a new conversation with A.
- B can no longer see A as a recipient in the New Conversation search (depending on the visibility setting).
- A can still message B if they choose. The block is one-directional: the blocker can still reach out; the blocked user cannot.
- The block can be lifted at any time from A's profile settings.
This is the standard "block" semantic users know from every consumer messenger. The asymmetry is intentional — if both sides went silent, neither could de-escalate.
Where blocking lives#
Two places members access it:
- Per-thread menu — open a conversation, the participant's actions menu has a Block option.
- Profile settings — under "Who can message me" or equivalent, members can see their block list and unblock anyone.
Admin controls#
Two role-based controls in WP Admin → Better Messages → Settings → Restrictions:
Roles that cannot block#
Lists roles that lose access to the block feature. Common pattern: free-tier members can block, but heavily-restricted roles (e.g. trial-only access) cannot — preventing abuse where trial users block legitimate admins.
Immune roles#
Lists roles that cannot be blocked by anyone. Common pattern: administrators, support staff, and instructors are immune — members cannot block them, ensuring critical communication channels stay open.
A typical setup:
| Role | Can block? | Can be blocked? |
|---|---|---|
| Administrator | yes | no |
| Support staff | yes | no |
| Instructor | yes | no |
| Paid member | yes | yes |
| Free member | yes | yes |
| Trial / suspended | no | yes |
Block vs admin-level restrictions#
There are two layers of access control in Better Messages:
- Admin-level role restrictions (this configures who can message whom site-wide; see Role-based access for WordPress chat)
- User-level blocks (this lets each member individually opt out of specific other members)
They stack — both rules apply. The admin's role matrix gates whether the pairing is possible at all; the user's block list gates whether a specific pair stays active.
How to enable#
- WP Admin → Better Messages → Settings → Restrictions.
- Toggle on Allow Users to Block.
- Configure Roles that cannot block if you want to restrict the feature to specific tiers.
- Configure Immune roles for admins / staff / instructors.
Free vs WebSocket version#
User blocking works on both versions:
| Feature | Free version | WebSocket version |
|---|---|---|
| User-to-user block (one-directional) | yes | yes |
| Block from per-thread menu | yes | yes |
| Block list in profile settings | yes | yes |
| Role-based control over who can block | yes | yes |
| Role-based immunity from being blocked | yes | yes |
| Real-time delivery of block-state changes | polling | instant |
Frequently asked questions#
Does the blocked user see they were blocked?#
No — blocked users see a generic "you cannot send messages to this user" message, not a specific "you have been blocked" notice. This is the standard pattern and reduces friction.
Can blocked users still see old messages?#
Yes — historical messages stay readable on both sides. The block only affects new messages and new conversations.
Can admins force-unblock or override a block?#
Admins are typically in the immune roles list (which means they cannot be blocked at all). For force-unblocking other users' blocks, a custom filter is available — talk to support.
Does blocking apply to group conversations?#
User-to-user block is a 1:1 mechanism. In a group conversation, blocked users can still post — but the blocker can filter their messages via a separate UI control. For full group-level moderation, use the group chat admin tools or the AI content moderation feature.
What about reporting users to admins?#
Reporting is a separate feature: members can flag specific users for admin review via the Report Messages action. See the Report Messages feature documentation.
Does this work with guest users?#
Guest visibility in the block UI is configurable. The synthetic "Guests" role can be added to immune or no-block lists like any other role.
See also#
- User Block feature documentation — full reference
- Role-based access for WordPress chat — admin-level access control that complements user blocks
- AI content moderation — automatic detection of harmful content
- Report Messages documentation — for reporting users to admins