fields = array_merge( $filter->all_fields, $filter->fields ); if ( empty( $filter->collection ) ) { $filter->collection = $this->tb_users; } if ( empty( $filter->collection_alias ) ) { $filter->collection_alias = 'u'; } $ca = $filter->collection_alias; // Find ID if ( isset( $filter->ID ) ) { $filter->where[] = $this->wpdb->prepare( "AND $ca.ID = %d", $filter->ID ); } // Find by IDs if ( ! empty( $filter->ids ) ) { $ids_format = implode( ', ', array_fill( 0, count( $filter->ids ), '%d' ) ); $filter->where[] = $this->wpdb->prepare( "AND $ca.ID IN ($ids_format)", $filter->ids ); } // Find by user_nicename if ( ! empty( $filter->user_nicename ) ) { $filter->where[] = $this->wpdb->prepare( "AND $ca.user_nicename LIKE %s", '%' . $filter->user_nicename . '%' ); } // Find by user_email if ( ! empty( $filter->user_email ) ) { $filter->where[] = $this->wpdb->prepare( "AND $ca.user_email = %s", $filter->user_email ); } // Find by user_login if ( ! empty( $filter->user_login ) ) { $filter->where[] = $this->wpdb->prepare( "AND $ca.user_login = %s", $filter->user_login ); } // Find by display_name if ( ! empty( $filter->display_name ) ) { $filter->where[] = $this->wpdb->prepare( "AND $ca.display_name LIKE %s", '%' . $filter->display_name . '%' ); } $filter = apply_filters( 'lp/user/query/filter', $filter ); return $this->execute( $filter, $total_rows ); } }