WordPress OSINT, maintenance or security needs? Reach out!
TLDWP

Plugin: BP-Moderation (Used by 9 domains)

BuddyPress Moderation

👤 francescolaffi 📦 v0.1.7 🔗 Plugin Homepage

LATEST VERSION REQUIRE PHP 5.3+

Site admins can already edit or delete every content in a BP community, but
analyzing every content posted could be a crazy/impossible work in big communities.
This plugin use crowdsourcing to help site admins finding contents to moderate.

It adds links/buttons to flag inappropriate user generated content in the site,
so members can easily flag contents as inappropriate. Admins can then see all the
reported contents in an organized table in the wp backend, order/filter them and
take actions (ignore, delete, mark/unmark the content author as spammer, …).

Another table show members, how many posts from them have been reported/moderated,
how many posts have they reported and moderated from admin. Here find bad/good
members and take action on them.

Note on private messages:
* private message sender: reporting this will flag the sender, not the thread, but the admin is not able to see the messages, effective against bulk spammer
* private message: in this case a sender is reported in a specific thread, the admin can see the messages, more useful for moderation (eg k-12 communities)
the latter is a bit hackish and could be less solid on future bp upgrades, the first one is based on apis that should be more stable

Use support forum on wordpress.org
for support and discussion.

The default style uses one icon from http://www.famfamfam.com/lab/icons/silk/
(cc-by-2.5) and one from http://damieng.com/creative/icons/silk-companion-1-icons
(cc-by-3.0), so if you use default style give credit to them somewhere in your site.

Moderator panel

You can access the backend panel from the “BP Moderation” link in your
Wordpress admin menu.

There are three tabs on the top: “contents”, “users”, “settings”.

Contents view

In this view you can see the reported contents.

Use the custom query filter/order contents.

The contents table has three columns:

  1. info on the content author
  2. info on the content itself ( and link to take actions on it on mouseover )
  3. info on the flags on this content

Users view

In this view you can see users that reported a content or users whom contents
have been reported.

Use the custom query filter/order contents.

The contents table has three columns:

  1. info on the user itself
  2. info on the contents generated by the user and flagged by others
  3. info on the contents generated by others and flagged by the user

Hotkeys

You can enable and disable hotkeys with the link displayed under contents and users tables.

I tried to make hotkeys similar wordpress comments table hotkeys, if you never
used them, give a look to this codex page.

When a row is selected with hotkeys the possible keys will be shown next to the actions links.

Hotkeys in both tables:

  • j/k: moves down/up
  • x: check current row for bulk actions
  • shift+x: invert row selection
  • c: direct contact selected user (or selected content author)
  • s/u: mark as spammer selected user (or selected content author) / unmark him

Only in contents table:

  • v: view content
  • a: approve (ignore)
  • e: edit
  • m: mark as moderated
  • d: delete

Only in user table:

  • b: see the contents generated by the selected user and flagged by others in the content view
  • g: see the contents generated by others and flagged by the selected user in the content view

Bulk hotkeys:

Some keys can be triggered on all selected rows if pressed with shift.
Those keys are s,u,a,m,d.

Integration guide

= Introduction =
This guide aims to explain how integrate bp-moderation with custom content types,
wp/bp core content types are already covered by the plugin, but you can write your
own custom content type definitions also for them.

It’s important to understand how bp-moderation differentiate/recognize contents:
each content have to be identified by an internal content type slug (you choose
it in your custom content type definition) and one or two bigint ids.

Decide a convention with 2 ids for your content type, is not something you can change
later. You have to call bp-moderation methods using always the same convention and
bp-moderation will use the same one when referring to your contents.
If your contents are tied with the activity stream you already have chosen a convention
for primary and secondary ids, using the same convention you use with activities
will make things easier. If you only have one id use 0 for the secondary id.

Register a content type

The main entry point in bp-moderation is bpModeration::register_content_type(), it
allows you to register a content type and has to be called at every page load.

You’ll need to provide:

  • a slug: used to differentiate between content types (alfanumeric and underscore only)
  • a label: human readable name of the content type (used in backend)
  • some callbacks: called by bp-moderation to request information/operations on your contents
  • activity types: the activity types that your content are posted on the activity stream with (if any)

Code sample

examples/bpMod_ContentType_BlogPostExample.php is a code sample that shows

how to integrate content types with bp-moderation taking blog posts as an example,
you can also modify and adapt it to your content type.

Other informations are in the doc of bpModeration::register_content_type() and
bpModFrontend::get_link(), those are most likely the only two bp-moderation
methods you need to use.

All core content types are in bpModDefaultContentTypes.php, but they are hardcoded
for speed reasons, so don’t use them as an example.

Advanced integration with activities

If you use the same primary and secondary id convention for activities and bp-moderation
you only have to tell the activity types of your content when registering,
bp-moderation is already hooked in the activity loop and will print the links
for your contents too.

Instead if some reason you cat use the same convention or you want to customize
the activity loop flag button, you can use the filter

    bp_moderation_activity_loop_link_args_{the activity type}

where {the activity type} is the activity type you’d like to filter.
Look in bpModFrontend::activity_loop_link() to see what to filter.

Contents generated by non members

It’s possible to have contents generated by not members (e.g. blog comments).
If you have to provide a user id to bp-moderation give 0 for it, but you’ll also
need to filter author information for displaying them in backend table. Use the filter

    bp_moderation_author_details_for_{slug used in content type registration}

to add missing info, look in bpModBackend::author_details() to see info needed.

OK I coded my custom content type, and now?

If you have coded a custom content type and you think that could be widely useful,
contact me and it could easily get included in the bp-moderation plugin.

If you integrated your plugin and you prefer to keep the custom content type in
your plugin it’s fine, I guess is more convenient and you can update it together
with your plugin.
Remember to check if bp-moderation is active before including unnecessary code
or calling non-existing functions: safest way is to use the action bp_moderation_init
for including/registering it.

If none of the above this is the easier way to get a custom content type loaded:

  • place your custom content type php file in wp-content/plugins/bp-moderation-content-types/
  • copy this line in wp-config.php define('BPMOD_LOAD_CUSTOM_CONTENT_TYPES', true);

Possible future content type system features

  • differentiate between trash, untrash and delete, or maybe custom actions on content
  • methods to be called when a content is edited/trashed/untrashed/deleted so bp-moderation
    can display also what happen outside of it
DomainExposuresHeadersLast Checked
t*.c*m*o*s.h*d*b.o*.ca (WP 6.9.4) F 2026-06-07 23:57:27
n*t*o*a*e*f*e*v*c*.net D 2026-05-24 18:12:54
t*e*e*t*l*l*.net D 2026-05-18 03:06:13
e*t*.c*m*o*s.h*d*b.o*.ca (WP 6.9.4) F 2026-05-16 11:20:16
o*l*r*.c*m*o*s.h*d*b.o*.ca (WP 6.9.4) F 2026-05-13 10:42:02
c*m*o*s.h*d*b.o*.ca (WP 6.9.4) F 2026-05-13 10:42:01
n*l*h*e*d.net F 2026-05-07 11:36:28
g*f*e*.c*m*o*s.h*d*b.o*.ca (WP 6.9.4) F 2026-05-07 07:44:42
a*u*s*g*r.com (WP 6.9.4) F 2026-05-03 13:07:35

Top 50 Plugins

Plugin Count
elementor 1,796,741
contact-form-7 1,766,546
elementor-pro 1,047,260
woocommerce 815,042
revslider 616,486
jetpack 466,278
js_composer 431,474
wp-rocket 333,316
essential-addons-for-elementor-lite 293,145
gravityforms 266,592
complianz-gdpr 255,931
cookie-law-info 230,628
instagram-feed 227,636
google-site-kit 221,594
sitepress-multilingual-cms 220,708
google-analytics-for-wordpress 213,613
header-footer-elementor 209,754
elementskit-lite 206,554
bluehost-wordpress-plugin 190,677
gutenberg 162,083
gutenberg-core 159,164
cookie-notice 150,869
the-events-calendar 131,142
litespeed-cache 130,431
wpforms-lite 129,343
gtranslate 127,652
astra-sites 119,407
popup-maker 115,819
woocommerce-payments 112,815
tablepress 108,825
coblocks 99,308
honeypot 97,125
astra-addon 95,116
wp-smushit 93,343
duracelltomi-google-tag-manager 93,328
all-in-one-seo-pack 93,096
LayerSlider 91,463
bb-plugin 90,683
premium-addons-for-elementor 86,707
megamenu 86,279
akismet 85,938
cleantalk-spam-protect 83,757
mailchimp-for-wp 83,585
woocommerce-gateway-stripe 82,978
ml-slider 80,826
fusion-builder 79,481
borlabs-cookie 79,231
ewww-image-optimizer 78,903
wp-pagenavi 78,615
formidable 77,926

Top 50 Themes

Theme Count
hello-elementor 614,199
Divi 509,746
astra 422,824
flatsome 132,849
Avada 124,112
generatepress 119,667
pub 109,731
oceanwp 83,251
kadence 78,264
enfold 71,684
salient 66,622
twentytwentyfour 58,741
h4 56,268
twentyseventeen 56,055
bb-theme 55,201
cocoon-master 52,071
betheme 51,693
blocksy 50,524
dt-the7 46,049
twentytwentyfive 43,672
neve 39,246
Avada-Child-Theme 37,532
gox 33,400
woodmart 33,232
bridge 32,813
twentytwentyone 32,058
lightning 31,414
twentytwenty 29,980
swell 28,566
Impreza 26,363
bricks 25,959
twentytwentythree 23,984
Newspaper 23,408
sydney 23,318
voxel 22,439
twentytwentytwo 19,960
epik-redesign 19,270
uncode 19,069
kubio 18,843
sinatra 18,674
twentysixteen 18,163
storefront 17,841
pro 17,833
Total 14,695
extendable 14,576
yith-wonder 14,035
hello-theme-child-master 13,314
themify-ultra 12,964
factory-templates-4 12,913
yootheme 12,910