Conversation Subjects
Better Messages lets users set a subject line when starting a new conversation. The subject becomes the thread title shown in the inbox list, so a busy conversation list is scannable like an email inbox rather than a wall of names. Subjects are optional and work in both DMs and group chats.
What it adds#
- Subject field on the new-conversation screen (optional)
- Subject displayed as the thread title in the inbox / threads list
- Helps users distinguish multiple conversations with the same person or group
- Edit-the-subject controls in the conversation header (admin-configurable)
- Falls back to participant names if no subject is set
How it works#
When a user starts a new conversation, they see an optional Subject input above the recipient picker. If they enter text, it becomes the thread's title. If they leave it blank, the thread title defaults to a comma-separated list of participant names (e.g., "Anna, Mike, Sara").
| Subject state | Thread title in inbox |
|---|---|
| Subject set | The subject text |
| Subject blank (1-on-1) | Other participant's display name |
| Subject blank (group) | First N participant names + count |
| Subject edited later | Updated title appears for all participants |
Subjects are stored on the thread record, not per-user — every participant sees the same title. Renaming the subject (when permitted) updates it globally.
When to require / encourage subjects#
| Use case | Subject strategy |
|---|---|
| Support / help desk | Require subjects — instant context for the assigned rep |
| Marketplace buyer→vendor messages | Encourage subjects — useful when one buyer messages multiple vendors |
| Internal team comms | Optional — names usually suffice |
| Course / LMS cohort | Encourage subjects — clarifies which assignment / topic |
| Personal DMs | Hide (disable) — feels formal between friends |
How to enable#
Navigate to WP Admin → Better Messages → Settings → Messaging.
- Disable Subject — Toggle to hide the subject field from the new-conversation screen
Subjects are enabled by default. Disabling hides the field entirely; existing thread subjects remain stored but new threads use participant names.
Frequently asked questions#
Can the subject be required (not optional)?#
Not in the default UI — the field is always optional. If you need to enforce a subject, hook better_messages_can_send_message and return false when the new thread has no subject set in the request payload.
Can participants change the subject later?#
Yes — the conversation header has an edit button that lets thread participants rename the thread.
How long can a subject be?#
The UI truncates display at a reasonable width but the full subject is stored — there is no hard server-side cap. Keep it short for readability in the inbox list.
Does the subject appear in email notifications?#
Yes — the configured email template uses the thread's subject as part of the heading / subject line. Without a subject, the email falls back to a generic "New message from {sender_name}" pattern.
What about chat rooms — do they have subjects?#
Chat rooms have a name (set in the admin), which serves the same role as a subject for DMs and group chats. The name appears in the room's header and the user's inbox.
See also#
- Group conversations — multi-user threads where subjects are especially useful
- Chat rooms — persistent public/private rooms with admin-set names
- Email notifications — how subjects appear in email subject lines
- Pinned messages — pin important info per-conversation