WordPress.org

Make WordPress Core

Ticket #22057: 22057.diff

File 22057.diff, 1.3 KB (added by ryan, 19 months ago)

Minimal attempt to return WP_User objects for 'all'

  • wp-includes/user.php

     
    559559                                $r[ $userid ] = new WP_User( $userid, '', $qv['blog_id'] ); 
    560560 
    561561                        $this->results = $r; 
     562                } elseif ( 'all' == $qv['fields'] ) { 
     563                        foreach ( $this->results as $key => $user ) { 
     564                                $this->results[ $key ] = new WP_User( $user ); 
     565                        } 
    562566                } 
    563567        } 
    564568 
  • wp-includes/capabilities.php

     
    459459         * @since 2.0.0 
    460460         * @access public 
    461461         * 
    462          * @param int|string $id User's ID 
     462         * @param int|string|stdClass|WP_User $id User's ID, a WP_User object, or a user object from the DB. 
    463463         * @param string $name Optional. User's username 
    464464         * @param int $blog_id Optional Blog ID, defaults to current blog. 
    465465         * @return WP_User 
     
    477477                        ); 
    478478                } 
    479479 
     480                if ( is_a( $id, 'WP_User' ) ) { 
     481                        $this->init( $id->data, $blog_id ); 
     482                        return; 
     483                } elseif ( is_object( $id ) ) { 
     484                        $this->init( $id, $blog_id ); 
     485                        return; 
     486                } 
     487 
    480488                if ( ! empty( $id ) && ! is_numeric( $id ) ) { 
    481489                        $name = $id; 
    482490                        $id = 0;