@@ -193,55 +193,52 @@ public function customer_query( array $prepared_args, WP_REST_Request $request )
193193 return $ prepared_args ;
194194 }
195195
196- public function modify_user_query ( $ user_query ) {
197- if ( isset ( $ user_query ->query_vars ['_search_term ' ] ) && ! empty ( $ user_query ->query_vars ['_search_term ' ] ) ) {
198- $ search_term = $ user_query ->query_vars ['_search_term ' ];
196+ public function modify_user_query ( $ user_query ) {
197+ if ( isset ( $ user_query ->query_vars ['_search_term ' ] ) && ! empty ( $ user_query ->query_vars ['_search_term ' ] ) ) {
198+ $ search_term = $ user_query ->query_vars ['_search_term ' ];
199199
200- global $ wpdb ;
200+ global $ wpdb ;
201201
202- $ like = '% ' . $ wpdb ->esc_like ( $ search_term ) . '% ' ;
202+ $ like_term = '% ' . $ wpdb ->esc_like ( $ search_term ) . '% ' ;
203203
204- $ meta_conditions = "
205- ( wp_usermeta .meta_key = '_woocommerce_pos_uuid' AND wp_usermeta .meta_value LIKE ' { $ like } ' )
204+ $ meta_conditions = $ wpdb -> prepare (
205+ " ( { $ wpdb -> usermeta } .meta_key = '_woocommerce_pos_uuid' AND { $ wpdb -> usermeta } .meta_value LIKE %s )
206206 OR
207- ( wp_usermeta .meta_key = 'first_name' AND wp_usermeta .meta_value LIKE ' { $ like } ' )
207+ ( { $ wpdb -> usermeta } .meta_key = 'first_name' AND { $ wpdb -> usermeta } .meta_value LIKE %s )
208208 OR
209- ( wp_usermeta .meta_key = 'last_name' AND wp_usermeta .meta_value LIKE ' { $ like } ' )
209+ ( { $ wpdb -> usermeta } .meta_key = 'last_name' AND { $ wpdb -> usermeta } .meta_value LIKE %s )
210210 OR
211- ( wp_usermeta .meta_key = 'billing_first_name' AND wp_usermeta .meta_value LIKE ' { $ like } ' )
211+ ( { $ wpdb -> usermeta } .meta_key = 'billing_first_name' AND { $ wpdb -> usermeta } .meta_value LIKE %s )
212212 OR
213- ( wp_usermeta .meta_key = 'billing_last_name' AND wp_usermeta .meta_value LIKE ' { $ like } ' )
213+ ( { $ wpdb -> usermeta } .meta_key = 'billing_last_name' AND { $ wpdb -> usermeta } .meta_value LIKE %s )
214214 OR
215- ( wp_usermeta .meta_key = 'billing_email' AND wp_usermeta .meta_value LIKE ' { $ like } ' )
215+ ( { $ wpdb -> usermeta } .meta_key = 'billing_email' AND { $ wpdb -> usermeta } .meta_value LIKE %s )
216216 OR
217- ( wp_usermeta .meta_key = 'billing_company' AND wp_usermeta .meta_value LIKE ' { $ like } ' )
217+ ( { $ wpdb -> usermeta } .meta_key = 'billing_company' AND { $ wpdb -> usermeta } .meta_value LIKE %s )
218218 OR
219- ( wp_usermeta.meta_key = 'billing_phone' AND wp_usermeta.meta_value LIKE ' {$ like }' )
220- " ;
219+ ( {$ wpdb ->usermeta }.meta_key = 'billing_phone' AND {$ wpdb ->usermeta }.meta_value LIKE %s) " ,
220+ $ like_term , $ like_term , $ like_term , $ like_term , $ like_term , $ like_term , $ like_term , $ like_term
221+ );
221222
222- // Add conditions for user email, username, and ID
223- $ user_conditions = "
224- ( {$ wpdb ->users }.user_email LIKE ' {$ like }' )
223+ $ user_conditions = $ wpdb ->prepare (
224+ "( {$ wpdb ->users }.user_email LIKE %s)
225225 OR
226- ( {$ wpdb ->users }.user_login LIKE ' { $ like } ' )
226+ ( {$ wpdb ->users }.user_login LIKE %s )
227227 OR
228- ( {$ wpdb ->users }.ID = ' {$ search_term }' )
229- " ;
228+ ( {$ wpdb ->users }.ID = %d) " ,
229+ $ like_term , $ like_term , $ search_term
230+ );
230231
231- // Combine meta_conditions and user_conditions
232- $ all_conditions = "( {$ meta_conditions }) OR ( {$ user_conditions }) " ;
233-
234- // Append the all_conditions to the original query_where
235- $ user_query ->query_where .= " AND ( {$ all_conditions } ) " ;
236-
237- remove_action ( 'pre_user_query ' , array ( $ this , 'modify_user_query ' ) );
238- }
239- }
232+ $ all_conditions = "( $ meta_conditions) OR ( $ user_conditions) " ;
240233
234+ $ user_query ->query_where .= " AND ( {$ all_conditions } ) " ;
241235
236+ remove_action ( 'pre_user_query ' , array ( $ this , 'modify_user_query ' ) );
237+ }
238+ }
242239
243240
244- /**
241+ /**
245242 * Returns array of all customer ids.
246243 *
247244 * Note: user queries are a little more complicated than post queries, for example,
0 commit comments