Mit der folgenden Funktion können Admins oder andere Mitglieder aus der Mitgliederliste, die die letzten Aktivitäten aufzeigt, entfernt werden.
// Remove admin from the member directory
function bpdev_exclude_users($qs=false,$object=false){
$excluded_user='1'; // Id's to remove, separated by comma
if($object != 'members' && $object != 'friends') // hide admin to members & friends
return $qs;
$args=wp_parse_args($qs);
if(!empty($args['user_id']))
return $qs;
if(!empty($args['exclude']))
$args['exclude'] = $args['exclude'].','.$excluded_user;
else
$args['exclude'] = $excluded_user;
$qs = build_query($args);
return $qs;
}
add_action('bp_ajax_querystring','bpdev_exclude_users',20,2);
// once admin is removed, we must recount the members !
function bpfr_hide_get_total_filter($count){
return $count-1;
}
add_filter('bp_get_total_member_count','bpfr_hide_get_total_filter');
Quelle: https://buddypress.org/support/topic/hide-members-2/
Soll nur eine bestimmte Nutzerrolle in der Mitgliederliste gezeigt werden, so lässt sich dies mit der Option exclude und der query role__not_in erreichen:
add_action('bp_ajax_querystring','bpdev_exclude_users',20,2);
function bpdev_exclude_users($qs=false,$object=false){
//list of users to exclude
if($object!='members')//hide for members only
return $qs;
$excluded_user=join(',',bpdev_get_subscriber_user_ids());//comma separated ids of users whom you want to exclude
$args=wp_parse_args($qs);
//check if we are searching for friends list etc?, do not exclude in this case
if(!empty($args['user_id']))
return $qs;
if(!empty($args['exclude']))
$args['exclude']=$args['exclude'].','.$excluded_user;
else
$args['exclude']=$excluded_user;
$qs=build_query($args);
return $qs;
}
function bpdev_get_subscriber_user_ids(){
$subscribers= get_users( array( 'role__not_in' => 'subscribers', 'fields' => 'ID' ) );
return $subscribers;
}
Es werden mit dieser Funktion nur Abonnenten (Subscriber) gelistet und alle, die nicht die Rolle „Subscriber“ haben, ausgeschlossen.
Schreibe einen Kommentar