BuddyPress hack: remove new member registration from activity stream
Since it was asked (and on the buddypress.org forums). Mute new member activity stream registration (aka, don’t announce your spammers)
add to whatever bp-custom.php or theme functions php and define the filtered bp_has_activities() types
function my_denied_activity_new_member( $a, $activities ) {
//if admin we want to know
if ( is_site_admin() )
return $activities;
foreach ( $activities->activities as $key => $activity ) {
//new_member is the type name (component is 'profile')
if ( $activity->type =='new_member') {
unset( $activities->activities[$key] );
$activities->activity_count = $activities->activity_count-1;
$activities->total_activity_count = $activities->total_activity_count-1;
$activities->pag_num = $activities->pag_num -1;
}
}
/* Renumber the array keys to account for missing items */
$activities_new = array_values( $activities->activities );
$activities->activities = $activities_new;
return $activities;
}
add_action('bp_has_activities','my_denied_activity_new_member', 10, 2 );
Then in your favorite theme (i’m using default) under the activity/index.php file, change up up the select option
<?php if (is_site_admin() ) : ?> <option value="new_member"><?php _e( 'Show New Members', 'buddypress' ) ?></option>--> <?php endif; ?>
I suspect you could take this a little further and check the $activity->date_recorded (ie, display new_member registration after 2 weeks)
UPDATE: I have created a simple BuddyPress Block Activity Stream Types plugin which will block any types being saved to the database.


