WordPress.org

Make WordPress Core

Ticket #21120: 21120.4.diff

File 21120.4.diff, 38.4 KB (added by nacin, 21 months ago)

Always returns a WP_User object.

  • wp-includes/pluggable-deprecated.php

     
    168168else : 
    169169        _deprecated_function( 'wp_login', '2.5', 'wp_signon()' ); 
    170170endif; 
     171 
     172if ( !function_exists('get_userdata') ) : 
     173/** 
     174 * Retrieve user info by user ID. 
     175 * 
     176 * @since 0.71 
     177 * 
     178 * @param int $user_id User ID. 
     179 * @return bool|object False on failure, WP_User object on success 
     180 */ 
     181function get_userdata( $user_id ) { 
     182        $user = wp_get_user( $user_id ); 
     183        if ( $user->exists() ) 
     184                return $user; 
     185 
     186        return false; 
     187} 
     188else: 
     189        _deprecated_function( 'get_userdata', '3.5', 'wp_get_user()' ); 
     190endif; 
     191 No newline at end of file 
  • wp-includes/comment.php

     
    406406 */ 
    407407function get_lastcommentmodified($timezone = 'server') { 
    408408        global $wpdb; 
    409         static $cache_lastcommentmodified = array(); 
     409        static $cache = array(); 
     410        $blog_id = get_current_blog_id(); 
    410411 
    411         if ( isset($cache_lastcommentmodified[$timezone]) ) 
    412                 return $cache_lastcommentmodified[$timezone]; 
     412        if ( isset( $cache[ $blog_id ][ $timezone ] ) ) 
     413                return $cache[ $blog_id ][ $timezone ]; 
    413414 
    414415        $add_seconds_server = date('Z'); 
    415416 
     
    425426                        break; 
    426427        } 
    427428 
    428         $cache_lastcommentmodified[$timezone] = $lastcommentmodified; 
     429        $cache[ $blog_id ][ $timezone ] = $lastcommentmodified; 
    429430 
    430431        return $lastcommentmodified; 
    431432} 
     
    650651 
    651652        do_action( 'check_comment_flood', $comment_author_IP, $comment_author_email, $comment_date_gmt ); 
    652653 
    653         if ( isset($user_id) && $user_id) { 
    654                 $userdata = get_userdata($user_id); 
    655                 $user = new WP_User($user_id); 
     654        if ( ! empty( $user_id ) ) { 
     655                $user = wp_get_user($user_id); 
    656656                $post_author = $wpdb->get_var($wpdb->prepare("SELECT post_author FROM $wpdb->posts WHERE ID = %d LIMIT 1", $comment_post_ID)); 
    657657        } 
    658658 
    659         if ( isset($userdata) && ( $user_id == $post_author || $user->has_cap('moderate_comments') ) ) { 
     659        if ( isset( $user ) && $user->exists() && ( $user_id == $post_author || $user->has_cap('moderate_comments') ) ) { 
    660660                // The author and the admins get respect. 
    661661                $approved = 1; 
    662662         } else { 
  • wp-includes/comment-template.php

     
    2222 */ 
    2323function get_comment_author( $comment_ID = 0 ) { 
    2424        $comment = get_comment( $comment_ID ); 
    25         if ( empty($comment->comment_author) ) { 
    26                 if (!empty($comment->user_id)){ 
    27                         $user=get_userdata($comment->user_id); 
    28                         $author=$user->user_login; 
     25        if ( empty( $comment->comment_author ) ) { 
     26                if ( ! empty( $comment->user_id ) ) { 
     27                        $user = wp_get_user( $comment->user_id ); 
     28                        $author = $user->user_login; 
    2929                } else { 
    3030                        $author = __('Anonymous'); 
    3131                } 
     
    307307        $classes[] = ( empty( $comment->comment_type ) ) ? 'comment' : $comment->comment_type; 
    308308 
    309309        // If the comment author has an id (registered), then print the log in name 
    310         if ( $comment->user_id > 0 && $user = get_userdata($comment->user_id) ) { 
     310        if ( $comment->user_id && ( $user = wp_get_user( $comment->user_id ) ) && $user->exists() ) { 
    311311                // For all registered users, 'byuser' 
    312312                $classes[] = 'byuser'; 
    313313                $classes[] = 'comment-author-' . sanitize_html_class($user->user_nicename, $comment->user_id); 
  • wp-includes/user.php

     
    110110                return new WP_Error( 'incorrect_password', sprintf( __( '<strong>ERROR</strong>: The password you entered for the username <strong>%1$s</strong> is incorrect. <a href="%2$s" title="Password Lost and Found">Lost your password</a>?' ), 
    111111                $username, wp_lostpassword_url() ) ); 
    112112 
    113         $user =  new WP_User($userdata->ID); 
    114         return $user; 
     113        return $userdata; 
    115114} 
    116115 
    117116/** 
     
    123122        if ( empty($username) && empty($password) ) { 
    124123                $user_id = wp_validate_auth_cookie(); 
    125124                if ( $user_id ) 
    126                         return new WP_User($user_id); 
     125                        return wp_get_user( $user_id ); 
    127126 
    128127                global $auth_secure_cookie; 
    129128 
     
    254253        if ( !empty( $deprecated ) ) 
    255254                _deprecated_argument( __FUNCTION__, '3.0' ); 
    256255 
    257         if ( empty( $user ) ) 
    258                 $user = wp_get_current_user(); 
    259         else 
    260                 $user = new WP_User( $user ); 
     256        $user = wp_get_user( $user ); 
    261257 
    262258        if ( ! $user->exists() ) 
    263259                return false; 
     
    922918 * @global string $user_url The url in the user's profile 
    923919 * @global string $user_identity The display name of the user 
    924920 * 
    925  * @param int $for_user_id Optional. User ID to set up global data. 
     921 * @param mixed $user Optional. WP_User object or user ID to set up global data. 
    926922 */ 
    927 function setup_userdata($for_user_id = '') { 
     923function setup_userdata( $user = '' ) { 
    928924        global $user_login, $userdata, $user_level, $user_ID, $user_email, $user_url, $user_identity; 
    929925 
    930         if ( '' == $for_user_id ) 
    931                 $user = wp_get_current_user(); 
    932         else 
    933                 $user = new WP_User($for_user_id); 
     926        if ( ! is_a( $user, 'WP_User' ) ) 
     927                $user = wp_get_user( $user ); 
    934928 
    935929        $userdata   = null; 
    936930        $user_ID    = (int) $user->ID; 
     
    10311025                } 
    10321026 
    10331027                if ( $include_selected && ! $found_selected && ( $selected > 0 ) ) { 
    1034                         $user = get_userdata( $selected ); 
     1028                        $user = wp_get_user( $selected ); 
    10351029                        $_selected = selected( $user->ID, $selected, false ); 
    10361030                        $display = !empty($user->$show) ? $user->$show : '('. $user->user_login . ')'; 
    10371031                        $output .= "\t<option value='$user->ID'$_selected>" . esc_html($display) . "</option>\n"; 
     
    11421136 */ 
    11431137function clean_user_cache( $user ) { 
    11441138        if ( is_numeric( $user ) ) 
    1145                 $user = new WP_User( $user ); 
     1139                $user = wp_get_user( $user ); 
    11461140 
    11471141        if ( ! $user->exists() ) 
    11481142                return; 
     
    13511345                $user_id = (int) $wpdb->insert_id; 
    13521346        } 
    13531347 
    1354         $user = new WP_User( $user_id ); 
     1348        $user = wp_get_user( $user_id ); 
    13551349 
    13561350        foreach ( _get_additional_user_keys( $user ) as $key ) { 
    13571351                if ( isset( $$key ) ) 
     
    13971391        $ID = (int) $userdata['ID']; 
    13981392 
    13991393        // First, get all of the original fields 
    1400         $user_obj = get_userdata( $ID ); 
     1394        $user_obj = wp_get_user( $ID ); 
    14011395 
    14021396        $user = get_object_vars( $user_obj->data ); 
    14031397 
  • wp-includes/class-wp-xmlrpc-server.php

     
    785785                } 
    786786 
    787787                // Get the author info. 
    788                 $author = get_userdata( $page->post_author ); 
     788                $author = wp_get_user( $page->post_author ); 
    789789 
    790790                $page_template = get_page_template_slug( $page->ID ); 
    791791                if ( empty( $page_template ) ) 
     
    985985                        if ( ! current_user_can( $post_type->cap->edit_others_posts ) ) 
    986986                                return new IXR_Error( 401, __( 'You are not allowed to create posts as this user.' ) ); 
    987987 
    988                         $author = get_userdata( $post_data['post_author'] ); 
     988                        $author = wp_get_user( $post_data['post_author'] ); 
    989989 
    990                         if ( ! $author ) 
     990                        if ( ! $author->exists() ) 
    991991                                return new IXR_Error( 404, __( 'Invalid author ID.' ) ); 
    992992                } else { 
    993993                        $post_data['post_author'] = $user->ID; 
     
    37373737                                        return(new IXR_Error(401, __('Invalid post type'))); 
    37383738                                        break; 
    37393739                        } 
    3740                         $author = get_userdata( $content_struct['wp_author_id'] ); 
    3741                         if ( ! $author ) 
     3740                        $author = wp_get_user( $content_struct['wp_author_id'] ); 
     3741                        if ( ! $author->exists() ) 
    37423742                                return new IXR_Error( 404, __( 'Invalid author ID.' ) ); 
    37433743                        $post_author = $content_struct['wp_author_id']; 
    37443744                } 
     
    42724272                        $link = post_permalink($postdata['ID']); 
    42734273 
    42744274                        // Get the author info. 
    4275                         $author = get_userdata($postdata['post_author']); 
     4275                        $author = wp_get_user($postdata['post_author']); 
    42764276 
    42774277                        $allow_comments = ('open' == $postdata['comment_status']) ? 1 : 0; 
    42784278                        $allow_pings = ('open' == $postdata['ping_status']) ? 1 : 0; 
     
    44034403                        $link = post_permalink($entry['ID']); 
    44044404 
    44054405                        // Get the post author info. 
    4406                         $author = get_userdata($entry['post_author']); 
     4406                        $author = wp_get_user($entry['post_author']); 
    44074407 
    44084408                        $allow_comments = ('open' == $entry['comment_status']) ? 1 : 0; 
    44094409                        $allow_pings = ('open' == $entry['ping_status']) ? 1 : 0; 
  • wp-includes/query.php

     
    29902990                        $this->queried_object_id = (int) $this->post->ID; 
    29912991                } elseif ( $this->is_author ) { 
    29922992                        $this->queried_object_id = (int) $this->get('author'); 
    2993                         $this->queried_object = get_userdata( $this->queried_object_id ); 
     2993                        $this->queried_object = wp_get_user( $this->queried_object_id ); 
    29942994                } 
    29952995 
    29962996                return $this->queried_object; 
     
    35933593 
    35943594        $id = (int) $post->ID; 
    35953595 
    3596         $authordata = get_userdata($post->post_author); 
     3596        $authordata = wp_get_user($post->post_author); 
    35973597 
    35983598        $currentday = mysql2date('d.m.y', $post->post_date, false); 
    35993599        $currentmonth = mysql2date('m', $post->post_date, false); 
  • wp-includes/link-template.php

     
    138138 
    139139                $author = ''; 
    140140                if ( strpos($permalink, '%author%') !== false ) { 
    141                         $authordata = get_userdata($post->post_author); 
     141                        $authordata = wp_get_user($post->post_author); 
    142142                        $author = $authordata->user_nicename; 
    143143                } 
    144144 
  • wp-includes/author-template.php

     
    6464 * @since 2.8 
    6565 * @uses $post The current post's DB object. 
    6666 * @uses get_post_meta() Retrieves the ID of the author who last edited the current post. 
    67  * @uses get_userdata() Retrieves the author's DB object. 
     67 * @uses wp_get_user() Retrieves the author's DB object. 
    6868 * @uses apply_filters() Calls 'the_modified_author' hook on the author display name. 
    6969 * @return string The author's display name. 
    7070 */ 
    7171function get_the_modified_author() { 
    7272        global $post; 
    7373        if ( $last_id = get_post_meta($post->ID, '_edit_last', true) ) { 
    74                 $last_user = get_userdata($last_id); 
     74                $last_user = wp_get_user($last_id); 
    7575                return apply_filters('the_modified_author', $last_user->display_name); 
    7676        } 
    7777} 
     
    101101                global $authordata; 
    102102                $user_id = isset( $authordata->ID ) ? $authordata->ID : 0; 
    103103        } else { 
    104                 $authordata = get_userdata( $user_id ); 
     104                $authordata = wp_get_user( $user_id ); 
    105105        } 
    106106 
    107107        if ( in_array( $field, array( 'login', 'pass', 'nicename', 'email', 'url', 'registered', 'activation_key', 'status' ) ) ) 
     
    226226                $link = $file . '?author=' . $auth_ID; 
    227227        } else { 
    228228                if ( '' == $author_nicename ) { 
    229                         $user = get_userdata($author_id); 
     229                        $user = wp_get_user($author_id); 
    230230                        if ( !empty($user->user_nicename) ) 
    231231                                $author_nicename = $user->user_nicename; 
    232232                } 
     
    290290                $author_count[$row->post_author] = $row->count; 
    291291 
    292292        foreach ( $authors as $author_id ) { 
    293                 $author = get_userdata( $author_id ); 
     293                $author = wp_get_user( $author_id ); 
    294294 
    295295                if ( $exclude_admin && 'admin' == $author->display_name ) 
    296296                        continue; 
  • wp-includes/canonical.php

     
    152152                        if ( $redirect_url = get_year_link(get_query_var('year')) ) 
    153153                                $redirect['query'] = remove_query_arg('year', $redirect['query']); 
    154154                } elseif ( is_author() && !empty($_GET['author']) && preg_match( '|^[0-9]+$|', $_GET['author'] ) ) { 
    155                         $author = get_userdata(get_query_var('author')); 
    156                         if ( ( false !== $author ) && $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE $wpdb->posts.post_author = %d AND $wpdb->posts.post_status = 'publish' LIMIT 1", $author->ID ) ) ) { 
     155                        $author = wp_get_user(get_query_var('author')); 
     156                        if ( $author->exists() && $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE $wpdb->posts.post_author = %d AND $wpdb->posts.post_status = 'publish' LIMIT 1", $author->ID ) ) ) { 
    157157                                if ( $redirect_url = get_author_posts_url($author->ID, $author->user_nicename) ) 
    158158                                        $redirect['query'] = remove_query_arg('author', $redirect['query']); 
    159159                        } 
  • wp-includes/capabilities.php

     
    922922} 
    923923 
    924924/** 
     925 * Returns a WP_User object of the requested user ID. 
     926 * 
     927 * @since 3.5.0 
     928 * 
     929 * @param int $user_id Optional. Defaults to the current user ID. 
     930 * @return WP_User  
     931 */ 
     932function wp_get_user( $user_id = null ) { 
     933        if ( is_a( $user_id, 'WP_User' ) ) 
     934                return $user_id; 
     935 
     936        if ( ! $user_id ) 
     937                $user_id = get_current_user_id(); 
     938 
     939        if ( $user = get_user_by( 'id', $user_id ) ) 
     940                return $user; 
     941 
     942        return new WP_User; 
     943} 
     944 
     945/** 
    925946 * Map meta capabilities to primitive capabilities. 
    926947 * 
    927948 * This does not actually compare whether the user ID has the actual capability, 
     
    960981                break; 
    961982        case 'delete_post': 
    962983        case 'delete_page': 
    963                 $author_data = get_userdata( $user_id ); 
    964984                $post = get_post( $args[0] ); 
    965985 
    966986                if ( 'revision' == $post->post_type ) { 
     
    978998                } 
    979999 
    9801000                if ( '' != $post->post_author ) { 
    981                         $post_author_data = get_userdata( $post->post_author ); 
     1001                        $post_author_data = wp_get_user( $post->post_author ); 
    9821002                } else { 
    9831003                        // No author set yet, so default to current user for cap checks. 
    984                         $post_author_data = $author_data; 
     1004                        $post_author_data = wp_get_user( $user_id ); 
    9851005                } 
    9861006 
    9871007                // If the user is the author... 
    988                 if ( is_object( $post_author_data ) && $user_id == $post_author_data->ID ) { 
     1008                if ( $post_author_data->exists() && $user_id == $post_author_data->ID ) { 
    9891009                        // If the post is published... 
    9901010                        if ( 'publish' == $post->post_status ) { 
    9911011                                $caps[] = $post_type->cap->delete_published_posts; 
     
    10101030                // edit_others_posts 
    10111031        case 'edit_post': 
    10121032        case 'edit_page': 
    1013                 $author_data = get_userdata( $user_id ); 
    10141033                $post = get_post( $args[0] ); 
    10151034 
    10161035                if ( 'revision' == $post->post_type ) { 
     
    10281047                } 
    10291048 
    10301049                if ( '' != $post->post_author ) { 
    1031                         $post_author_data = get_userdata( $post->post_author ); 
     1050                        $post_author_data = wp_get_user( $post->post_author ); 
    10321051                } else { 
    10331052                        // No author set yet, so default to current user for cap checks. 
    1034                         $post_author_data = $author_data; 
     1053                        $post_author_data = wp_get_user( $user_id ); 
    10351054                } 
    10361055 
    10371056                //echo "current user id : $user_id, post author id: " . $post_author_data->ID . "<br />"; 
    10381057                // If the user is the author... 
    1039                 if ( is_object( $post_author_data ) && $user_id == $post_author_data->ID ) { 
     1058                if ( $post_author_data->exists() && $user_id == $post_author_data->ID ) { 
    10401059                        // If the post is published... 
    10411060                        if ( 'publish' == $post->post_status ) { 
    10421061                                $caps[] = $post_type->cap->edit_published_posts; 
     
    10591078                break; 
    10601079        case 'read_post': 
    10611080        case 'read_page': 
    1062                 $author_data = get_userdata( $user_id ); 
    10631081                $post = get_post( $args[0] ); 
    10641082 
    10651083                if ( 'revision' == $post->post_type ) { 
     
    10831101                } 
    10841102 
    10851103                if ( '' != $post->post_author ) { 
    1086                         $post_author_data = get_userdata( $post->post_author ); 
     1104                        $post_author_data = wp_get_user( $post->post_author ); 
    10871105                } else { 
    10881106                        // No author set yet, so default to current user for cap checks. 
    1089                         $post_author_data = $author_data; 
     1107                        $post_author_data = wp_get_user( $user_id ); 
    10901108                } 
    10911109 
    1092                 if ( is_object( $post_author_data ) && $user_id == $post_author_data->ID ) 
     1110                if ( $post_author_data->exists() && $user_id == $post_author_data->ID ) 
    10931111                        $caps[] = $post_type->cap->read; 
    10941112                elseif ( $status_obj->private ) 
    10951113                        $caps[] = $post_type->cap->read_private_posts; 
     
    12401258                return false; 
    12411259 
    12421260        // Create new object to avoid stomping the global current_user. 
    1243         $user = new WP_User( $current_user->ID) ; 
     1261        $user = new WP_User( $current_user->ID ); 
    12441262 
    12451263        // Set the blog id. @todo add blog id arg to WP_User constructor? 
    12461264        $user->for_blog( $blog_id ); 
     
    12641282        if ( !$post = get_post($post) ) 
    12651283                return false; 
    12661284 
    1267         $author = new WP_User( $post->post_author ); 
     1285        $author = wp_get_user( $post->post_author ); 
    12681286 
    1269         if ( empty( $author->ID ) ) 
     1287        if ( ! $author->exists() ) 
    12701288                return false; 
    12711289 
    12721290        $args = array_slice( func_get_args(), 2 ); 
     
    12861304 */ 
    12871305function user_can( $user, $capability ) { 
    12881306        if ( ! is_object( $user ) ) 
    1289                 $user = new WP_User( $user ); 
     1307                $user = wp_get_user( $user ); 
    12901308 
    1291         if ( ! $user || ! $user->exists() ) 
     1309        if ( ! $user->exists() ) 
    12921310                return false; 
    12931311 
    12941312        $args = array_slice( func_get_args(), 2 ); 
     
    13801398 * @return bool True if the user is a site admin. 
    13811399 */ 
    13821400function is_super_admin( $user_id = false ) { 
    1383         if ( $user_id ) 
    1384                 $user = new WP_User( $user_id ); 
    1385         else 
    1386                 $user = wp_get_current_user(); 
     1401        $user = wp_get_user( $user_id ); 
    13871402 
    13881403        if ( ! $user->exists() ) 
    13891404                return false; 
  • wp-includes/deprecated.php

     
    207207function user_can_create_post($user_id, $blog_id = 1, $category_id = 'None') { 
    208208        _deprecated_function( __FUNCTION__, '2.0', 'current_user_can()' ); 
    209209 
    210         $author_data = get_userdata($user_id); 
     210        $author_data = wp_get_user($user_id); 
    211211        return ($author_data->user_level > 1); 
    212212} 
    213213 
     
    227227function user_can_create_draft($user_id, $blog_id = 1, $category_id = 'None') { 
    228228        _deprecated_function( __FUNCTION__, '2.0', 'current_user_can()' ); 
    229229 
    230         $author_data = get_userdata($user_id); 
     230        $author_data = wp_get_user($user_id); 
    231231        return ($author_data->user_level >= 1); 
    232232} 
    233233 
     
    247247function user_can_edit_post($user_id, $post_id, $blog_id = 1) { 
    248248        _deprecated_function( __FUNCTION__, '2.0', 'current_user_can()' ); 
    249249 
    250         $author_data = get_userdata($user_id); 
     250        $author_data = wp_get_user($user_id); 
    251251        $post = get_post($post_id); 
    252         $post_author_data = get_userdata($post->post_author); 
     252        $post_author_data = wp_get_user($post->post_author); 
    253253 
    254254        if ( (($user_id == $post_author_data->ID) && !($post->post_status == 'publish' && $author_data->user_level < 2)) 
    255255                         || ($author_data->user_level > $post_author_data->user_level) 
     
    296296function user_can_set_post_date($user_id, $blog_id = 1, $category_id = 'None') { 
    297297        _deprecated_function( __FUNCTION__, '2.0', 'current_user_can()' ); 
    298298 
    299         $author_data = get_userdata($user_id); 
     299        $author_data = wp_get_user($user_id); 
    300300        return (($author_data->user_level > 4) && user_can_create_post($user_id, $blog_id, $category_id)); 
    301301} 
    302302 
     
    316316function user_can_edit_post_date($user_id, $post_id, $blog_id = 1) { 
    317317        _deprecated_function( __FUNCTION__, '2.0', 'current_user_can()' ); 
    318318 
    319         $author_data = get_userdata($user_id); 
     319        $author_data = wp_get_user($user_id); 
    320320        return (($author_data->user_level > 4) && user_can_edit_post($user_id, $post_id, $blog_id)); 
    321321} 
    322322 
     
    375375function user_can_edit_user($user_id, $other_user) { 
    376376        _deprecated_function( __FUNCTION__, '2.0', 'current_user_can()' ); 
    377377 
    378         $user  = get_userdata($user_id); 
    379         $other = get_userdata($other_user); 
     378        $user  = wp_get_user($user_id); 
     379        $other = wp_get_user($other_user); 
    380380        if ( $user->user_level > $other->user_level || $user->user_level > 8 || $user->ID == $other->ID ) 
    381381                return true; 
    382382        else 
  • wp-includes/pluggable.php

     
    3232 
    3333        $current_user = new WP_User( $id, $name ); 
    3434 
    35         setup_userdata( $current_user->ID ); 
     35        setup_userdata( $current_user ); 
    3636 
    3737        do_action('set_current_user'); 
    3838 
     
    108108} 
    109109endif; 
    110110 
    111 if ( !function_exists('get_userdata') ) : 
    112 /** 
    113  * Retrieve user info by user ID. 
    114  * 
    115  * @since 0.71 
    116  * 
    117  * @param int $user_id User ID 
    118  * @return bool|object False on failure, WP_User object on success 
    119  */ 
    120 function get_userdata( $user_id ) { 
    121         return get_user_by( 'id', $user_id ); 
    122 } 
    123 endif; 
    124  
    125111if ( !function_exists('get_user_by') ) : 
    126112/** 
    127113 * Retrieve user info by a given field 
     
    133119 * @return bool|object False on failure, WP_User object on success 
    134120 */ 
    135121function get_user_by( $field, $value ) { 
     122        if ( 'id' === $field && $value && get_current_user_id() === intval( $value ) ) 
     123                return wp_get_current_user(); 
     124 
    136125        $userdata = WP_User::get_data_by( $field, $value ); 
    137126 
    138127        if ( !$userdata ) 
     
    147136 
    148137if ( !function_exists('cache_users') ) : 
    149138/** 
    150  * Retrieve info for user lists to prevent multiple queries by get_userdata() 
     139 * Retrieve info for user lists to prevent multiple queries by wp_get_user() 
    151140 * 
    152141 * @since 3.0.0 
    153142 * 
     
    576565 * @return string Authentication cookie contents 
    577566 */ 
    578567function wp_generate_auth_cookie($user_id, $expiration, $scheme = 'auth') { 
    579         $user = get_userdata($user_id); 
     568        $user = wp_get_user($user_id); 
    580569 
    581570        $pass_frag = substr($user->user_pass, 8, 4); 
    582571 
     
    993982function wp_notify_postauthor( $comment_id, $comment_type = '' ) { 
    994983        $comment = get_comment( $comment_id ); 
    995984        $post    = get_post( $comment->comment_post_ID ); 
    996         $author  = get_userdata( $post->post_author ); 
    997985 
    998986        // The comment was left by the author 
    999987        if ( $comment->user_id == $post->post_author ) 
     
    1003991        if ( $post->post_author == get_current_user_id() ) 
    1004992                return false; 
    1005993 
     994        $author = wp_get_user( $post->post_author ); 
     995 
    1006996        // If there's no email to send the comment to 
    1007997        if ( '' == $author->user_email ) 
    1008998                return false; 
     
    10991089 
    11001090        $comment = get_comment($comment_id); 
    11011091        $post = get_post($comment->comment_post_ID); 
    1102         $user = get_userdata( $post->post_author ); 
     1092        $user = wp_get_user( $post->post_author ); 
    11031093        // Send to the administration and to the post author if the author can modify the comment. 
    11041094        $email_to = array( get_option('admin_email') ); 
    11051095        if ( user_can($user->ID, 'edit_comment', $comment_id) && !empty($user->user_email) && ( get_option('admin_email') != $user->user_email) ) 
     
    11951185 * @param string $plaintext_pass Optional. The user's plaintext password 
    11961186 */ 
    11971187function wp_new_user_notification($user_id, $plaintext_pass = '') { 
    1198         $user = new WP_User($user_id); 
     1188        $user = wp_get_user($user_id); 
    11991189 
    12001190        $user_login = stripslashes($user->user_login); 
    12011191        $user_email = stripslashes($user->user_email); 
     
    15951585        $email = ''; 
    15961586        if ( is_numeric($id_or_email) ) { 
    15971587                $id = (int) $id_or_email; 
    1598                 $user = get_userdata($id); 
    1599                 if ( $user ) 
     1588                $user = wp_get_user($id); 
     1589                if ( $user->exists() ) 
    16001590                        $email = $user->user_email; 
    16011591        } elseif ( is_object($id_or_email) ) { 
    16021592                // No avatar for pingbacks or trackbacks 
     
    16061596 
    16071597                if ( !empty($id_or_email->user_id) ) { 
    16081598                        $id = (int) $id_or_email->user_id; 
    1609                         $user = get_userdata($id); 
    1610                         if ( $user) 
     1599                        $user = wp_get_user($id); 
     1600                        if ( $user->exists() ) 
    16111601                                $email = $user->user_email; 
    16121602                } elseif ( !empty($id_or_email->comment_author_email) ) { 
    16131603                        $email = $id_or_email->comment_author_email; 
  • wp-includes/ms-functions.php

     
    183183function add_user_to_blog( $blog_id, $user_id, $role ) { 
    184184        switch_to_blog($blog_id); 
    185185 
    186         $user = new WP_User($user_id); 
     186        $user = wp_get_user($user_id); 
    187187 
    188188        if ( ! $user->exists() ) { 
    189189                restore_current_blog(); 
     
    246246        } 
    247247 
    248248        // wp_revoke_user($user_id); 
    249         $user = new WP_User($user_id); 
     249        $user = wp_get_user($user_id); 
    250250        if ( ! $user->exists() ) { 
    251251                restore_current_blog(); 
    252252                return new WP_Error('user_does_not_exist', __('That user does not exist.')); 
     
    10561056        if ( is_email($email) == false ) 
    10571057                return false; 
    10581058 
    1059         $user = new WP_User($user_id); 
     1059        $user = wp_get_user($user_id); 
    10601060 
    10611061        $options_site_url = esc_url(network_admin_url('settings.php')); 
    10621062        $msg = sprintf(__('New User: %1s 
     
    12331233--The Team @ SITE_NAME' ) ); 
    12341234 
    12351235        $url = get_blogaddress_by_id($blog_id); 
    1236         $user = new WP_User($user_id); 
     1236        $user = wp_get_user($user_id); 
    12371237 
    12381238        $welcome_email = str_replace( 'SITE_NAME', $current_site->site_name, $welcome_email ); 
    12391239        $welcome_email = str_replace( 'BLOG_TITLE', $title, $welcome_email ); 
     
    12821282 
    12831283        $welcome_email = get_site_option( 'welcome_user_email' ); 
    12841284 
    1285         $user = new WP_User($user_id); 
     1285        $user = wp_get_user($user_id); 
    12861286 
    12871287        $welcome_email = apply_filters( 'update_welcome_user_email', $welcome_email, $user_id, $password, $meta); 
    12881288        $welcome_email = str_replace( 'SITE_NAME', $current_site->site_name, $welcome_email ); 
     
    15361536 */ 
    15371537function wpmu_log_new_registrations( $blog_id, $user_id ) { 
    15381538        global $wpdb; 
    1539         $user = new WP_User( (int) $user_id ); 
     1539        $user = wp_get_user( (int) $user_id ); 
    15401540        $wpdb->insert( $wpdb->registration_log, array('email' => $user->user_email, 'IP' => preg_replace( '/[^0-9., ]/', '',$_SERVER['REMOTE_ADDR'] ), 'blog_id' => $blog_id, 'date_registered' => current_time('mysql')) ); 
    15411541} 
    15421542 
     
    18021802        } else { 
    18031803                $user_id = get_user_id_from_string( $username ); 
    18041804        } 
    1805         $u = new WP_User( $user_id ); 
     1805        $u = wp_get_user( $user_id ); 
    18061806 
    18071807        return ( isset( $u->spam ) && $u->spam == 1 ); 
    18081808} 
  • wp-mail.php

     
    154154 
    155155        // Set $post_status based on $author_found and on author's publish_posts capability 
    156156        if ( $author_found ) { 
    157                 $user = new WP_User($post_author); 
     157                $user = wp_get_user($post_author); 
    158158                $post_status = ( $user->has_cap('publish_posts') ) ? 'publish' : 'pending'; 
    159159        } else { 
    160160                // Author not found in DB, set status to pending. Author already set to admin. 
  • wp-activate.php

     
    7777                } else { 
    7878                        extract($result); 
    7979                        $url = get_blogaddress_by_id( (int) $blog_id); 
    80                         $user = new WP_User( (int) $user_id); 
     80                        $user = wp_get_user( (int) $user_id ); 
    8181                        ?> 
    8282                        <h2><?php _e('Your account is now active!'); ?></h2> 
    8383 
  • wp-admin/users.php

     
    111111                if ( is_multisite() && !is_user_member_of_blog( $id ) ) 
    112112                        wp_die(__('Cheatin&#8217; uh?')); 
    113113 
    114                 $user = new WP_User($id); 
     114                $user = wp_get_user($id); 
    115115                $user->set_role($_REQUEST['new_role']); 
    116116        } 
    117117 
     
    201201        $go_delete = 0; 
    202202        foreach ( $userids as $id ) { 
    203203                $id = (int) $id; 
    204                 $user = new WP_User($id); 
     204                $user = wp_get_user($id); 
    205205                if ( $id == $current_user->ID ) { 
    206206                        echo "<li>" . sprintf(__('ID #%1s: %2s <strong>The current user will not be deleted.</strong>'), $id, $user->user_login) . "</li>\n"; 
    207207                } else { 
     
    302302        $go_remove = false; 
    303303        foreach ( $userids as $id ) { 
    304304                $id = (int) $id; 
    305                 $user = new WP_User($id); 
     305                $user = wp_get_user($id); 
    306306                if ( $id == $current_user->ID && !is_super_admin() ) { 
    307307                        echo "<li>" . sprintf(__('ID #%1s: %2s <strong>The current user will not be removed.</strong>'), $id, $user->user_login) . "</li>\n"; 
    308308                } elseif ( !current_user_can('remove_user', $id) ) { 
  • wp-admin/includes/ajax-actions.php

     
    10181018                ) ); 
    10191019                $x->send(); 
    10201020        } 
    1021         $user_object = new WP_User( $user_id ); 
     1021        $user_object = wp_get_user( $user_id ); 
    10221022 
    10231023        $wp_list_table = _get_list_table('WP_Users_List_Table'); 
    10241024 
     
    10691069        if ( $last = wp_check_post_lock( $post->ID ) ) { 
    10701070                $do_autosave = $do_lock = false; 
    10711071 
    1072                 $last_user = get_userdata( $last ); 
    1073                 $last_user_name = $last_user ? $last_user->display_name : __( 'Someone' ); 
     1072                $last_user = wp_get_user( $last ); 
     1073                $last_user_name = $last_user->exists() ? $last_user->display_name : __( 'Someone' ); 
    10741074                $data = __( 'Autosave disabled.' ); 
    10751075 
    10761076                $supplemental['disable_autosave'] = 'disable'; 
     
    13311331        set_current_screen( $_POST['screen'] ); 
    13321332 
    13331333        if ( $last = wp_check_post_lock( $post_ID ) ) { 
    1334                 $last_user = get_userdata( $last ); 
    1335                 $last_user_name = $last_user ? $last_user->display_name : __( 'Someone' ); 
     1334                $last_user = wp_get_user( $last ); 
     1335                $last_user_name = $last_user->exists() ? $last_user->display_name : __( 'Someone' ); 
    13361336                printf( $_POST['post_type'] == 'page' ? __( 'Saving is disabled: %s is currently editing this page.' ) : __( 'Saving is disabled: %s is currently editing this post.' ),        esc_html( $last_user_name ) ); 
    13371337                wp_die(); 
    13381338        } 
     
    17521752        } 
    17531753 
    17541754        if ( $last_id = get_post_meta($post_id, '_edit_last', true) ) { 
    1755                 $last_user = get_userdata($last_id); 
     1755                $last_user = wp_get_user($last_id); 
    17561756                $last_edited = sprintf( __('Last edited by %1$s on %2$s at %3$s'), esc_html( $last_user->display_name ), $last_date, $last_time ); 
    17571757        } else { 
    17581758                $last_edited = sprintf( __('Last edited on %1$s at %2$s'), $last_date, $last_time ); 
  • wp-admin/includes/post.php

     
    12281228 
    12291229        $lock = explode( ':', get_post_meta( $post->ID, '_edit_lock', true ) ); 
    12301230        $user = isset( $lock[1] ) ? $lock[1] : get_post_meta( $post->ID, '_edit_last', true ); 
    1231         $last_user = get_userdata( $user ); 
    1232         $last_user_name = $last_user ? $last_user->display_name : __('Somebody'); 
     1231        $last_user = wp_get_user( $user ); 
     1232        $last_user_name = $last_user->exists() ? $last_user->display_name : __('Somebody'); 
    12331233 
    12341234        switch ($post->post_type) { 
    12351235                case 'post': 
  • wp-admin/includes/class-wp-users-list-table.php

     
    218218                global $wp_roles; 
    219219 
    220220                if ( !( is_object( $user_object ) && is_a( $user_object, 'WP_User' ) ) ) 
    221                         $user_object = new WP_User( (int) $user_object ); 
     221                        $user_object = wp_get_user( (int) $user_object ); 
    222222                $user_object->filter = 'display'; 
    223223                $email = $user_object->user_email; 
    224224 
  • wp-admin/includes/upgrade.php

     
    7575                $message = __('User already exists. Password inherited.'); 
    7676        } 
    7777 
    78         $user = new WP_User($user_id); 
     78        $user = wp_get_user($user_id); 
    7979        $user->set_role('administrator'); 
    8080 
    8181        wp_install_defaults($user_id); 
     
    292292                $wp_rewrite->init(); 
    293293                $wp_rewrite->flush_rules(); 
    294294 
    295                 $user = new WP_User($user_id); 
     295                $user = wp_get_user($user_id); 
    296296                $wpdb->update( $wpdb->options, array('option_value' => $user->user_email), array('option_name' => 'admin_email') ); 
    297297 
    298298                // Remove all perms except for the login user. 
     
    320320 * @param string $password User's Password. 
    321321 */ 
    322322function wp_new_blog_notification($blog_title, $blog_url, $user_id, $password) { 
    323         $user = new WP_User($user_id); 
     323        $user = wp_get_user($user_id); 
    324324        $email = $user->user_email; 
    325325        $name = $user->user_login; 
    326326        $message = sprintf(__("Your new WordPress site has been successfully set up at: 
  • wp-admin/includes/deprecated.php

     
    249249 
    250250        global $wpdb; 
    251251 
    252         $user = new WP_User( $user_id ); 
     252        $user = wp_get_user( $user_id ); 
    253253        $post_type_obj = get_post_type_object($post_type); 
    254254 
    255255        if ( ! $user->has_cap($post_type_obj->cap->edit_others_posts) ) { 
  • wp-admin/includes/user.php

     
    3333        if ( $user_id ) { 
    3434                $update = true; 
    3535                $user->ID = (int) $user_id; 
    36                 $userdata = get_userdata( $user_id ); 
     36                $userdata = wp_get_user( $user_id ); 
    3737                $user->user_login = $wpdb->escape( $userdata->user_login ); 
    3838        } else { 
    3939                $update = false; 
     
    198198 * @return object WP_User object with user data. 
    199199 */ 
    200200function get_user_to_edit( $user_id ) { 
    201         $user = new WP_User( $user_id ); 
     201        $user = wp_get_user( $user_id ); 
    202202 
    203203        $user->filter = 'edit'; 
    204204 
     
    238238        global $wpdb; 
    239239 
    240240        $id = (int) $id; 
    241         $user = new WP_User( $id ); 
     241        $user = wp_get_user( $id ); 
    242242 
    243243        // allow for transaction statement 
    244244        do_action('delete_user', $id); 
     
    303303function wp_revoke_user($id) { 
    304304        $id = (int) $id; 
    305305 
    306         $user = new WP_User($id); 
     306        $user = wp_get_user($id); 
    307307        $user->remove_all_caps(); 
    308308} 
    309309 
     
    331331        if ( ! get_user_option('default_password_nag', $user_ID) ) //Short circuit it. 
    332332                return; 
    333333 
    334         $new_data = get_userdata($user_ID); 
     334        $new_data = wp_get_user($user_ID); 
    335335 
    336336        if ( $new_data->user_pass != $old_data->user_pass ) { //Remove the nag if the password has been changed. 
    337337                delete_user_setting('default_password_nag', $user_ID); 
  • wp-admin/includes/ms.php

     
    132132        global $wpdb; 
    133133 
    134134        $id = (int) $id; 
    135         $user = new WP_User( $id ); 
     135        $user = wp_get_user( $id ); 
    136136 
    137137        do_action( 'wpmu_delete_user', $id ); 
    138138 
     
    393393 
    394394        $wpdb->update( $wpdb->users, array( $pref => $value ), array( 'ID' => $id ) ); 
    395395 
    396         $user = new WP_User( $id ); 
     396        $user = wp_get_user( $id ); 
    397397        clean_user_cache( $user ); 
    398398 
    399399        if ( $pref == 'spam' ) { 
     
    409409function refresh_user_details( $id ) { 
    410410        $id = (int) $id; 
    411411 
    412         if ( !$user = get_userdata( $id ) ) 
     412        $user = wp_get_user( $id ); 
     413        if ( ! $user->exists() ) 
    413414                return false; 
    414415 
    415416        clean_user_cache( $user ); 
     
    650651        // Directly fetch site_admins instead of using get_super_admins() 
    651652        $super_admins = get_site_option( 'site_admins', array( 'admin' ) ); 
    652653 
    653         $user = new WP_User( $user_id ); 
     654        $user = wp_get_user( $user_id ); 
    654655        if ( ! in_array( $user->user_login, $super_admins ) ) { 
    655656                $super_admins[] = $user->user_login; 
    656657                update_site_option( 'site_admins' , $super_admins ); 
     
    678679        // Directly fetch site_admins instead of using get_super_admins() 
    679680        $super_admins = get_site_option( 'site_admins', array( 'admin' ) ); 
    680681 
    681         $user = new WP_User( $user_id ); 
     682        $user = wp_get_user( $user_id ); 
    682683        if ( $user->user_email != get_site_option( 'admin_email' ) ) { 
    683684                if ( false !== ( $key = array_search( $user->user_login, $super_admins ) ) ) { 
    684685                        unset( $super_admins[$key] ); 
  • wp-admin/includes/export.php

     
    239239 
    240240                $authors = array(); 
    241241                $results = $wpdb->get_results( "SELECT DISTINCT post_author FROM $wpdb->posts" ); 
    242                 foreach ( (array) $results as $result ) 
    243                         $authors[] = get_userdata( $result->post_author ); 
     242                foreach ( (array) $results as $result ) { 
     243                        $author = wp_get_user( $result->post_author ); 
     244                        if ( $author->exists() ) 
     245                                $authors[] = $author; 
     246                } 
    244247 
    245                 $authors = array_filter( $authors ); 
    246  
    247248                foreach ( $authors as $author ) { 
    248249                        echo "\t<wp:author>"; 
    249250                        echo '<wp:author_id>' . $author->ID . '</wp:author_id>'; 
  • wp-admin/edit-form-advanced.php

     
    322322        if ( 'auto-draft' != $post->post_status ) { 
    323323                echo '<span id="last-edit">'; 
    324324                if ( $last_id = get_post_meta($post_ID, '_edit_last', true) ) { 
    325                         $last_user = get_userdata($last_id); 
     325                        $last_user = wp_get_user($last_id); 
    326326                        printf(__('Last edited by %1$s on %2$s at %3$s'), esc_html( $last_user->display_name ), mysql2date(get_option('date_format'), $post->post_modified), mysql2date(get_option('time_format'), $post->post_modified)); 
    327327                } else { 
    328328                        printf(__('Last edited on %1$s at %2$s'), mysql2date(get_option('date_format'), $post->post_modified), mysql2date(get_option('time_format'), $post->post_modified)); 
  • wp-admin/network/users.php

     
    3434 
    3535        foreach ( ( $allusers = (array) $_POST['allusers'] ) as $key => $val ) { 
    3636                if ( $val != '' && $val != '0' ) { 
    37                         $delete_user = new WP_User( $val ); 
     37                        $delete_user = wp_get_user( $val ); 
    3838 
    3939                        if ( ! current_user_can( 'delete_user', $delete_user->ID ) ) 
    4040                                wp_die( sprintf( __( 'Warning! User %s cannot be deleted.' ), $delete_user->user_login ) ); 
     
    139139                                                        break; 
    140140 
    141141                                                        case 'spam': 
    142                                                                 $user = new WP_User( $val ); 
     142                                                                $user = wp_get_user( $val ); 
    143143                                                                if ( in_array( $user->user_login, get_super_admins() ) ) 
    144144                                                                        wp_die( sprintf( __( 'Warning! User cannot be modified. The user %s is a network administrator.' ), esc_html( $user->user_login ) ) ); 
    145145 
  • wp-admin/network/site-users.php

     
    143143                                        if ( !is_user_member_of_blog( $user_id ) ) 
    144144                                                wp_die(__('Cheatin&#8217; uh?')); 
    145145 
    146                                         $user = new WP_User( $user_id ); 
     146                                        $user = wp_get_user( $user_id ); 
    147147                                        $user->set_role( $_REQUEST['new_role'] ); 
    148148                                } 
    149149                        } else { 
  • wp-admin/user-edit.php

     
    2020        $user_id = $current_user->ID; 
    2121elseif ( ! $user_id && ! IS_PROFILE_PAGE ) 
    2222        wp_die(__( 'Invalid user ID.' ) ); 
    23 elseif ( ! get_userdata( $user_id ) ) 
     23elseif ( ! wp_get_user( $user_id )->exists() ) 
    2424        wp_die( __('Invalid user ID.') ); 
    2525 
    2626wp_enqueue_script('user-profile'); 
     
    113113if ( !is_multisite() ) { 
    114114        $errors = edit_user($user_id); 
    115115} else { 
    116         $user = get_userdata( $user_id ); 
     116        $user = wp_get_user( $user_id ); 
    117117 
    118118        // Update the email address in signups, if present. 
    119119        if ( $user->user_login && isset( $_POST[ 'email' ] ) && is_email( $_POST[ 'email' ] ) && $wpdb->get_var( $wpdb->prepare( "SELECT user_login FROM {$wpdb->signups} WHERE user_login = %s", $user->user_login ) ) )