Guest User

Untitled

a guest
Jul 17th, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. /**
  2. Extend user search in wp-admin
  3. include first_name, last_name and other fields in the search results
  4. **/
  5. add_action('pre_user_query','extend_user_search');
  6. function extend_user_search( $user_query ){
  7. // make sure that this code will be applied only for user search
  8. if ( $user_query->query_vars['search'] ){
  9. $search_query = trim( $user_query->query_vars['search'], '*' );
  10. if ( $_REQUEST['s'] == $search_query ){
  11. global $wpdb;
  12. // let's search by users first name
  13. $user_query->query_from .= " JOIN {$wpdb->usermeta} fname ON fname.user_id = {$wpdb->users}.ID AND fname.meta_key = 'first_name'";
  14. $user_query->query_from .= " JOIN {$wpdb->usermeta} lname ON lname.user_id = {$wpdb->users}.ID AND lname.meta_key = 'last_name'";
  15. // you can add here any meta key you want to search by
  16. // $u_query->query_from .= " JOIN {$wpdb->usermeta} cstm ON cstm.user_id = {$wpdb->users}.ID AND cstm.meta_key = 'YOU CUSTOM meta_key'";
  17. // let's search by all the post titles, the user has been published
  18. //$u_query->query_from .= " JOIN {$wpdb->posts} psts ON psts.post_author = {$wpdb->users}.ID";
  19. // what fields to include in the search
  20. $search_by = array( 'user_login', 'user_email', 'fname.meta_value', 'lname.meta_value');
  21. // apply to the query
  22. $user_query->query_where = 'WHERE 1=1' . $user_query->get_search_sql( $search_query, $search_by, 'both' );
  23. }
  24. }
  25. }
Add Comment
Please, Sign In to add comment