+ /**
+ * Get the user, if the ID is valid.
+ *
+ * @since 4.7.2
+ *
+ * @param int $id Supplied ID.
+ * @return WP_User|WP_Error True if ID is valid, WP_Error otherwise.
+ */
+ protected function get_user( $id ) {
+ $error = new WP_Error( 'rest_user_invalid_id', __( 'Invalid user ID.' ), array( 'status' => 404 ) );
+ if ( (int) $id <= 0 ) {
+ return $error;
+ }
+
+ $user = get_userdata( (int) $id );
+ if ( empty( $user ) || ! $user->exists() ) {
+ return $error;
+ }
+
+ return $user;
+ }
+