BuddyPress · From $49 · Profile contact form

Someone lands on a member profile and there is no way to say hello.

BuddyPress private messages need both people signed in. Contact Me adds a Contact tab to the member profile instead, so a visitor can write to that member without an account. The message lands in the member's own inbox, with an email and a notification to match.

Runs on BuddyPress and BuddyBoss Platform. Version 1.5.0.

How it works

One tab. Two screens, depending on whose profile you are standing on.

The plugin registers a single Contact item on the BuddyPress member nav. What opens underneath it changes with the viewer, so nobody has to learn two different places to look.

On someone else

/members/priya/contact/send/

A form, and nothing to sign up for

Visitors get a name and email field so the member can write back. Signed-in members skip both, because their profile already carries them. Subject and message are bounded server side at 200 and 5000 characters, and the same validator runs whether the browser posts the form or the REST route does.

Sub-tab
Send message
Guest fields
Name, email, security check
If guests are off
A sign-in card replaces the form

On your own

/members/priya/contact/inbox/

An inbox that belongs to the member

Received messages are listed newest first, ten to a page, with All and Unread tabs that carry their own counts. Opening one marks it read and offers a reply by email, a jump to BuddyPress private messages, or delete. The Preferences sub-tab holds the on and off switch plus a contact link the member can paste into a bio.

Sub-tabs
Inbox, Preferences
Filters
All and Unread, with counts
Per message
Open, reply, delete

Three places the form can appear

  • Profile tab A Contact item on the member nav, with an unread badge for the owner.
  • Shortcode [buddypress-contact-me] takes an id or user attribute, so the form can sit on any page.
  • Admin bar A Contact shortcut under the BuddyPress account menu for logged-in members.

Before it reaches anyone

A form open to visitors is a form open to bots.

Letting people write to members without an account is the whole point, and it is also the risk. Four checks stand between the send button and a member's inbox, and a message has to clear all of them.

  1. 01

    A nonce, on both doors

    Every submission

    The form posts either the classic way or through the REST route, and both carry the same form nonce. The REST route asks for it on top of the standard WordPress REST nonce, so a replayed or cross-site post is refused before anything is read.

  2. 02

    An arithmetic question, for visitors only

    Logged-out only

    Logged-out senders answer a small sum such as 13 plus 6. The expected answer travels as a hash and is compared with a timing-safe check, so it cannot be read off the page source. Signed-in members never see it, because being signed in is already the proof.

  3. 03

    Bounds the browser cannot talk it out of

    Every submission

    Name 2 to 100 characters, subject 3 to 200, message 10 to 5000. These are enforced on the server, not just as HTML attributes, and the classic and REST paths run the same validator so neither is the soft way in.

  4. 04

    A read of what was actually written

    Filterable

    Messages are screened for the usual pharmacy, casino, loan-offer, act-now and prize-winner phrasing, and for bodies stuffed with three or more links. Every verdict passes through the bcm_spam_check filter, so a site can loosen it for a community where those words are ordinary talk.

Delete is owner-scoped as well. The REST route that removes a message checks that the person asking is the one it was addressed to, so a message ID cannot be guessed into someone else's inbox.

Settings

The owner sets the rules. The member keeps the veto.

Access

Who can send messages

Visitors (not logged in) Subscriber Contributor Author Editor

Who can be contacted

Tutor Mentor Subscriber Contributor

Notifications

  • BuddyPress notification to the recipient On
  • Email the recipient when a message arrives On
  • Copy the sender so they keep a record On
  • BCC the site admin on every message Off

The email itself is a BuddyPress email template, so its subject, body and branding are edited beside every other one under Emails.

  1. First

    The owner decides the shape

    A master switch turns the profile tab on or off site wide. With it off the form still works through the shortcode, so a site can place it deliberately rather than everywhere.

  2. Then

    Roles narrow it on both ends

    One grid picks who may send, visitors included as their own group. A second picks whose profiles carry a form at all, which is how a site keeps inbound mail pointed at tutors or support staff. Leave a grid empty and it means everyone. Administrators always pass.

  3. Last, and final

    The member closes their own door

    A member switch set to off is checked before any role grid runs. The tab disappears from their profile, the shortcode renders nothing for them, and a submission aimed at them is turned away with a plain message. An allowed role cannot put it back.

Pricing

One feature set. The plan sets how many sites you run it on.

Personal, Professional and Agency all ship the same Contact tab, the same spam screening and the same controls. The plan decides site count and how fast support replies. Every plan is annual or a one time lifetime licence. Read the refund policy.

Personal

1 site

$49/year

or $149 once · lifetime

Most popular

Professional

Multiple sites

$99/year

or $299 once · lifetime

Agency

Unlimited sites

$129/year

or $349 once · lifetime

  • A Contact tab on every member profile
  • Send-message form on other members, inbox on your own
  • Optional sending for visitors who are not signed in
  • Arithmetic security check and a spam-phrase screen
  • BuddyPress notification and email on a new message
  • Editable BuddyPress email template for the alert
  • Optional copies to the sender and to the site admin
  • Sender and recipient role grids, both optional
  • Per-member on and off switch that beats the role grids
  • [buddypress-contact-me] shortcode with id or user
  • Inbox with All and Unread filters, paging and delete
  • REST routes under bcm/v1 for submit and delete
  • Admin overview with live message and recipient counts
  • Follows BuddyX, Reign and BuddyBoss dark mode, RTL included

Every plan includes the full list above. Version 1.5.0, tested to WordPress 6.9. 30-day money-back guarantee.

Before you install

Questions community owners ask.

  1. 01

    What does BuddyPress Contact Me do?

    It adds a Contact tab to the BuddyPress member profile. On another member's profile that tab holds a message form; on your own it holds an inbox of what people have sent you, plus a preferences screen for switching the form off.

  2. 02

    Does the message go through BuddyPress private messages?

    No, and that is the point. Private messages need both people registered and signed in. Contact Me stores the submission in its own table and alerts the recipient by BuddyPress notification and email, so a visitor with no account can still reach a member. When the recipient wants to answer a fellow member, the message view offers a link into the BuddyPress compose screen.

  3. 03

    Can visitors who are not signed in send a message?

    Yes, once you allow it. The sender list carries a "Visitors (not logged in)" group alongside the WordPress roles. With it selected, guests get name and email fields so the member can reply. Leave the sender list completely empty and everyone is allowed, guests included.

  4. 04

    How does it keep spam out?

    Logged-out senders answer an arithmetic question whose expected answer travels as a hash and is compared with a timing-safe check. Every submission also carries a nonce, is bounded server side at 200 characters of subject and 5000 of message, and is screened for pharmacy, casino, loan-offer and prize-winner phrasing or three or more links. The screen result runs through the bcm_spam_check filter if your community needs it loosened.

  5. 05

    Can a member stop people contacting them?

    Yes, and the member has the last word. A switch on their Contact preferences, mirrored on BuddyPress Settings, hides the tab from their profile, makes the shortcode render nothing for them, and turns away any message aimed at them. It is checked before the role rules, so an allowed role cannot override it.

  6. 06

    Can I restrict who uses it by role?

    Two grids, working on both ends. One picks which roles may send, the other picks whose profiles carry a form at all, which is how sites point inbound mail at tutors, mentors or support staff. Leave a grid empty and it means everyone. Administrators always pass either way.

  7. 07

    Where does the member read what they were sent?

    In the Inbox sub-tab of their own profile. Messages list newest first, ten to a page, with All and Unread tabs carrying their own counts. Opening one marks it read and offers a reply by email, a jump to private messages, or delete. Delete is scoped to the recipient, so a message ID cannot be guessed into another inbox.

  8. 08

    Can I control the email members receive?

    Yes. The alert is a BuddyPress email template, so its subject, body and branding are edited alongside every other BuddyPress email under Emails. You can also switch the in-site notification and the email on or off independently, send the sender a copy as their record, and BCC the site admin for moderation.

  9. 09

    Can the form appear somewhere other than the profile tab?

    Use the [buddypress-contact-me] shortcode with an id or user attribute to place it on any page for a specific member. If you want the shortcode to be the only placement, turn the profile tab off in the settings and the shortcode keeps working.

  10. 10

    Does it work with BuddyBoss Platform and with dark themes?

    Yes to both. BuddyBoss Platform is detected at runtime and member links are resolved its way. The frontend colours inherit BuddyX and Reign theme variables instead of painting WordPress admin blue, and dark mode follows the class the host theme sets rather than the operating system, so it matches whatever switch your site already has. An RTL stylesheet ships with it.

  11. 11

    What does it need to run?

    BuddyPress or BuddyBoss Platform, WordPress 6.0 or newer and PHP 7.4 or newer. Version 1.5.0 is tested to WordPress 6.9. The in-site notification channel also needs the BuddyPress Notifications component active.

  12. 12

    Is there a free version, and what separates the tiers?

    There is no free edition, and every purchase carries a 30-day money-back guarantee. All three tiers ship the identical feature set. Personal covers one site, Professional covers several, Agency is unlimited, and each is available annually or as a one time lifetime licence.

  13. 13

    Is support available?

    Yes. Documentation and support are available through the Wbcom Designs support channels.

From $49 a year

Give every profile a way to be reached.

Activate the plugin, decide whether visitors may write, and the Contact tab is on every member profile. Each member keeps the switch that turns their own form off, so being reachable stays their decision rather than yours.