BuddyPress Profanity
BuddyPress Profanity filters inappropriate language from your community’s activity stream, comments, private messages, and (when bbPress is active) forum content. It works entirely at the display layer — your database is never touched, so nothing is permanently altered.
What it does
Section titled “What it does”When a member posts an activity update, leaves a comment, sends a private message, or writes a forum post, the plugin intercepts that text as WordPress prepares it for display. Any word on your blocked list gets replaced with a masking character of your choice. The original text stays in the database exactly as written.
The plugin also masks email addresses and phone numbers to prevent contact details from being scraped out of community posts.
How content filtering works
Section titled “How content filtering works”The plugin hooks into BuddyPress display filters. When BuddyPress asks for the text of an activity post or message to render on screen, the plugin steps in, runs its replacement logic, and hands back the masked version. This happens on every page load for every piece of content in scope.
Filtering is controlled by two dimensions:
- Which content types are in scope (activity updates, comments, messages, bbPress titles, bbPress content)
- How blocked words are replaced (which character, how many letters to keep visible)
Requirements
Section titled “Requirements”| Requirement | Minimum | Notes |
|---|---|---|
| WordPress | 5.0 | |
| BuddyPress | 6.0 | Required |
| PHP | 7.4 | PHP 8.0+ recommended |
| bbPress | any | Optional — adds forum filtering |
| BP Better Messages | any | Optional — adds Better Messages filtering |
BuddyPress must be installed and active before you activate this plugin. If BuddyPress is deactivated after installation, the plugin stops filtering and shows an admin notice.
What is and is not filtered
Section titled “What is and is not filtered”The plugin filters text content displayed through BuddyPress hooks. It does not filter:
- Content in WordPress core posts or pages
- WordPress comments (standard
wp_comments, not BuddyPress activity comments) - Content in custom post types outside BuddyPress/bbPress
- Admin area text
See Filtering Scope for the full list of content types and how to enable each one.

