Hi,
Also this
https://buddypress.org/support/topic/hide-admin-from-members-and-activity/Can you help me complete code for 2 request bellow:
1) Hide CURRENT logged in user from search, widget, members directory.
–> WHY? It so weried to see myself in members widget list.2) I would like to hide admin from search, members widget, directory.
Thanks
Hi Julia,
You can use the following code to achieve same./** * Exclude logged and admin users from BuddyPress users list. * * @param array $args member loop args. * * @return array */ function buddydev_exclude_logged_and_admin_users( $args ) { //do not exclude in admin if ( is_admin() && ! defined( 'DOING_AJAX' ) ) { return $args; } $excluded = isset( $args['exclude'] ) ? $args['exclude'] : array(); if ( ! is_array( $excluded ) ) { $excluded = explode( ',', $excluded ); } $role = 'administrator';//change to the role to be excluded $user_ids = get_users( array( 'role' => $role, 'fields' => 'ID' ) ); $excluded = array_merge( $excluded, $user_ids ); if ( is_user_logged_in() ) { array_push( $excluded, get_current_user_id() ); } $args['exclude'] = $excluded; return $args; } add_filter( 'bp_after_has_members_parse_args', 'buddydev_exclude_logged_and_admin_users' );
Regards
BrajeshHi,
Message buddypress
==> Send To (Username or Friend’s Name)I still see myself & admin.
I would like to keep myself (current loggin). BUT REMOVE admin in message. Please help.
Thanks
What you are seeing is the auto suggestion for message and not the members list.
For the message autocomplete, the following code should work
/** * Filter and remove admin and logged in users from the message autocomplete box. * * @param array $user_ids user ids. * * @return array */ function buddydev_filter_message_auto_complete_ids( $user_ids ) { if ( empty( $user_ids ) ) { return $user_ids; } $excluded = get_users( array( 'role' => 'administrator', 'fields' => 'ID' ) ); if ( is_user_logged_in() ) { array_push( $excluded, get_current_user_id() ); } return array_diff( $user_ids, $excluded ); } add_filter( 'bp_core_autocomplete_ids', 'buddydev_filter_message_auto_complete_ids' ); add_filter( 'bp_friends_autocomplete_ids', 'buddydev_filter_message_auto_complete_ids' );
Best Regards
BrajeshHi,
Can you please re-check. There is no work. I clear cache, re-login, etc.. still same
You are right, that code was for older version of BuddyPress.
Please remove that and use the following
/** * Filter and remove admin and logged in users from all BuddyPress auto complete box. * * @param array $args BP_User_Query args. * * @return array */ function buddydev_filter_buddypress_auto_complete_ids( $args ) { $user_ids = isset( $args['exclude'] ) ? $args['exclude'] : array(); if ( $user_ids && ! is_array( $user_ids ) ) { $user_ids = wp_parse_id_list( $user_ids ); } $excluded = get_users( array( 'role' => 'administrator', 'fields' => 'ID' ) ); if ( is_user_logged_in() ) { array_push( $excluded, get_current_user_id() ); } $args['exclude'] = array_merge( $excluded, $user_ids ); return $args; } add_filter( 'bp_members_suggestions_query_args', 'buddydev_filter_buddypress_auto_complete_ids' );
Regards
Brajesh
The topic ‘ [Resolved] Hide current logged in user and admin’ is closed to new replies.