Ticket #20460: 20460.diff
| File 20460.diff, 2.6 KB (added by duck_, 13 months ago) |
|---|
-
wp-includes/user.php
1143 1143 * 1144 1144 * @since 3.0.0 1145 1145 * 1146 * @param int $id User ID1146 * @param WP_User $user User object to be cleaned from the cache 1147 1147 */ 1148 function clean_user_cache($id) { 1149 $user = WP_User::get_data_by( 'id', $id ); 1148 function clean_user_cache( $user ) { 1149 if ( is_numeric( $user ) ) { 1150 _deprecated_argument( __FUNCTION__, '3.4', 'Pass the full user object instead of the ID.' ); 1151 $user = WP_User::get_data_by( 'id', $id ); 1152 } 1150 1153 1151 wp_cache_delete($id, 'users'); 1152 wp_cache_delete($user->user_login, 'userlogins'); 1153 wp_cache_delete($user->user_email, 'useremail'); 1154 wp_cache_delete($user->user_nicename, 'userslugs'); 1154 if ( ! $user->exists() ) 1155 return; 1156 1157 wp_cache_delete( $user->ID, 'users' ); 1158 wp_cache_delete( $user->user_login, 'userlogins' ); 1159 wp_cache_delete( $user->user_email, 'useremail' ); 1160 wp_cache_delete( $user->user_nicename, 'userslugs' ); 1155 1161 } 1156 1162 1157 1163 /** -
wp-admin/includes/user.php
237 237 global $wpdb; 238 238 239 239 $id = (int) $id; 240 $user = new WP_User( $id ); 240 241 241 242 // allow for transaction statement 242 243 do_action('delete_user', $id); … … 262 263 $wpdb->update( $wpdb->links, array('link_owner' => $reassign), array('link_owner' => $id) ); 263 264 } 264 265 265 clean_user_cache( $id);266 clean_user_cache( $user ); 266 267 267 268 // FINALLY, delete user 268 269 if ( !is_multisite() ) { -
wp-admin/includes/ms.php
132 132 global $wpdb; 133 133 134 134 $id = (int) $id; 135 $user = new WP_User( $id ); 135 136 136 137 do_action( 'wpmu_delete_user', $id ); 137 138 … … 162 163 $wpdb->delete( $wpdb->users, array( 'ID' => $id ) ); 163 164 $wpdb->delete( $wpdb->usermeta, array( 'user_id' => $id ) ); 164 165 165 clean_user_cache( $ id);166 clean_user_cache( $user ); 166 167 167 168 // allow for commit transaction 168 169 do_action( 'deleted_user', $id ); … … 389 390 390 391 $wpdb->update( $wpdb->users, array( $pref => $value ), array( 'ID' => $id ) ); 391 392 392 clean_user_cache( $id ); 393 $user = new WP_User( $id ); 394 clean_user_cache( $user ); 393 395 394 396 if ( $pref == 'spam' ) { 395 397 if ( $value == 1 ) … … 407 409 if ( !$user = get_userdata( $id ) ) 408 410 return false; 409 411 410 clean_user_cache( $ id);412 clean_user_cache( $user ); 411 413 412 414 return $id; 413 415 }
