better_messages_search_user_sql_condition
REQUIREMENTS
To be able to implement this guide, you need to learn how to insert PHP snippets to your website.
You can find guide here: WP Beginner
This filter allows to modify MySQL query which is used to search users in Better Messages, which will allow to modify search results
Examples
Exclude specific user ids from search results
add_filter( 'better_messages_search_user_sql_condition', 'exclude_user_role_from_search', 10, 4 );
function exclude_user_role_from_search( $sql_array, $user_ids, $search, $user_id ){
// Exclude user ID 1,2,3 from search results
$sql_array[] = "AND `ID` NOT IN(1,2,3)";
return $sql_array;
}
Exclude subscriber role users from search results
add_filter( 'better_messages_search_user_sql_condition', 'exclude_user_role_from_search', 10, 4 );
function exclude_user_role_from_search( $sql_array, $user_ids, $search, $user_id ){
global $wpdb;
$role = 'subscriber';
$sql_array[] = $wpdb->prepare("AND `ID` NOT IN(SELECT user_id FROM `{$wpdb->usermeta}` WHERE `meta_key` = 'wp_capabilities' AND `meta_value` LIKE %s)", '%' . $role . '%');
return $sql_array;
}
Show only subscriber role users in search results
add_filter( 'better_messages_search_user_sql_condition', 'include_only_user_role_in_search', 10, 4 );
function include_only_user_role_in_search( $sql_array, $user_ids, $search, $user_id ){
global $wpdb;
$role = 'subscriber';
$sql_array[] = $wpdb->prepare("AND `ID` IN(SELECT user_id FROM `{$wpdb->usermeta}` WHERE `meta_key` = 'wp_capabilities' AND `meta_value` LIKE %s)", '%' . $role . '%');
return $sql_array;
}