Skip to content

Content Filtering

The Filter Scope section on the General Settings tab controls which types of content are checked against the blocked keyword list.

The plugin only filters content types that have been checked. If none are checked, the plugin is active but does not filter anything.


Option value: status_updates

Filters text in BuddyPress activity stream posts - the main body of what members post to the activity feed. This covers both posts made by members directly and activity posts generated by BuddyPress components (like group updates or profile changes) where the display text passes through the bp_get_activity_content_body or bp_get_activity_action hooks.

Option value: activity_comments

Filters the text of comments left on activity posts. These are the threaded replies that appear beneath an activity item in the stream.

Option value: messages

Filters the content and subject of BuddyPress private messages, including the thread excerpt displayed in the message inbox. This also covers BP Better Messages content when that plugin is active.

Option value: bbpress_title

Filters the display title of bbPress forums, topics, and individual replies. Only visible when bbPress is installed and active.

The plugin attaches to the bbp_get_forum_title, bbp_get_topic_title, and bbp_get_reply_title hooks. These are apply_filters calls in bbPress, so the plugin’s callbacks receive the title and return the masked version. (The plugin registers them with add_action, which in WordPress is the same registry as add_filter, so filtering still runs.)

bbPress Forums, Topics and Replies Content

Section titled “bbPress Forums, Topics and Replies Content”

Option value: bbpress_content

Filters the body content of bbPress forums, topics, and replies. Only visible when bbPress is installed and active.

The plugin attaches to the bbp_get_forum_content, bbp_get_topic_content, and bbp_get_reply_content hooks in the same way as the title hooks above.


  • WordPress core post or page content
  • Standard WordPress comments (not BuddyPress activity comments)
  • Custom post type content outside BuddyPress/bbPress
  • Admin area content
  • Email notifications sent by BuddyPress (the filtered text in the email body depends on when BuddyPress builds the email - some email hooks are covered via bp_core_replace_tokens_in_text, but not all)

The plugin uses PHP’s DOMDocument and DOMXPath to parse the HTML of each piece of content. It walks the text nodes and applies keyword replacement only to plain text, leaving HTML tags and attribute values untouched. This prevents the filter from accidentally breaking URLs, image src paths, or other markup.

After keyword replacement, the email and phone masking steps run if those options are enabled. They also split content on HTML tags before processing, so tag attributes are never touched.