Skip to content

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.

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.

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)
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.

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.