Changeset 15565 for trunk/wp-includes/user.php
- Timestamp:
- 09/05/2010 01:31:33 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/user.php
r15543 r15565 380 380 'meta_key' => '', 'meta_value' => '', 381 381 'include' => array(), 'exclude' => array(), 382 'fields' => 'all' 382 'fields' => 'all', 383 383 ) ); 384 384 … … 446 446 $role = trim( $qv['role'] ); 447 447 448 if ( $role || is_multisite() ) { 449 $this->query_from .= " INNER JOIN $wpdb->usermeta ON $wpdb->users.ID = $wpdb->usermeta.user_id"; 450 $this->query_where .= $wpdb->prepare( " AND $wpdb->usermeta.meta_key = %s", $wpdb->prefix . 'capabilities' ); 451 } 448 $meta_queries = array(); 449 450 $cap_meta_query = array(); 451 $cap_meta_key = $wpdb->prefix . 'capabilities'; 452 453 if ( $role || is_multisite() ) 454 $cap_meta_query['meta_key'] = $cap_meta_key; 452 455 453 456 if ( $role ) { 454 $this->query_where .= $wpdb->prepare( " AND $wpdb->usermeta.meta_value LIKE %s", '%' . like_escape( $role ) . '%' ); 455 } 456 457 $meta_key = trim( $qv['meta_key'] ); 458 $meta_value = trim( $qv['meta_value'] ); 459 if ( $meta_key ) { 460 if ( empty( $meta_value ) ) { 461 $subquery = $wpdb->prepare( "SELECT user_id FROM {$wpdb->usermeta} WHERE meta_key = %s", $meta_key ); 462 } 463 else { 464 $subquery = $wpdb->prepare( "SELECT user_id FROM {$wpdb->usermeta} WHERE meta_key = %s AND meta_value = %s", $meta_key, $meta_value ); 465 } 466 467 $this->query_where .= " AND $wpdb->users.ID IN ($subquery)"; 457 $cap_meta_query['meta_value'] = $role; 458 $cap_meta_query['meta_compare'] = 'like'; 459 } 460 461 $meta_queries[] = $cap_meta_query; 462 463 $meta_queries[] = array( 464 'meta_key' => @$qv['meta_key'], 465 'meta_value' => @$qv['meta_key'], 466 'meta_compare' => @$qv['meta_key'], 467 ); 468 469 $meta_query_sql = _wp_meta_sql( $meta_queries, 'user_id', $wpdb->usermeta ); 470 471 if ( !empty( $meta_query_sql ) ) { 472 $this->query_where .= " AND $wpdb->users.ID IN ($meta_query_sql)"; 468 473 } 469 474
Note: See TracChangeset
for help on using the changeset viewer.