Skip to content

Filtering Scope

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.

Known limitation in the current version: The bbPress title hooks are registered with add_action instead of add_filter. Because bbPress uses apply_filters for these hooks, the title filtering callbacks do not fire. Forum, topic, and reply titles are not currently filtered despite this option appearing enabled. This is a code-level bug documented in the plugin’s audit.

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.

Same limitation as bbPress title filtering applies — the hooks are currently misconfigured and content filtering does not run.


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