Ticket #18428: 18428.fix_wp_users.diff
File 18428.fix_wp_users.diff, 1.3 KB (added by , 13 years ago) |
---|
-
wp-includes/class-wp-xmlrpc-server.php
910 910 'roles' => $user->roles, 911 911 ); 912 912 913 if ( in_array( 'authors', $fields ) ) { 914 $_user['user_login'] = $user_fields['username']; 915 916 $basic_fields = array( 'display_name' ); 917 $fields = array_merge( $fields, $basic_fields ); 918 } 919 913 920 if ( in_array( 'all', $fields ) ) { 914 921 $_user = array_merge( $_user, $user_fields ); 915 922 } … … 918 925 $basic_fields = array( 'username', 'email', 'registered', 'display_name', 'nicename' ); 919 926 $fields = array_merge( $fields, $basic_fields ); 920 927 } 928 921 929 $requested_fields = array_intersect_key( $user_fields, array_flip( $fields ) ); 922 930 $_user = array_merge( $_user, $requested_fields ); 923 931 } … … 2118 2126 $users = get_users( $query ); 2119 2127 2120 2128 $_users = array(); 2121 foreach ( $users as $user_data ) { 2122 if ( current_user_can( 'edit_user', $user_data->ID ) ) 2129 foreach ( $users as $user ) { 2130 if ( current_user_can( 'edit_user', $user->ID ) ) { 2131 $user_data = get_userdata( $user->ID ); 2123 2132 $_users[] = $this->_prepare_user( $user_data, $fields ); 2133 } 2124 2134 } 2125 2135 return $_users; 2126 2136 }