wp_xmlrpc_server::wp_getUser()publicWP 1.0

Retrieves a user.

The optional $fields parameter specifies what fields will be included in the response array. This should be a list of field names. 'user_id' will always be included in the response regardless of the value of $fields.

Instead of, or in addition to, individual field names, conceptual group names can be used to specify multiple fields. The available conceptual groups are 'basic' and 'all'.

Method of the class: wp_xmlrpc_server{}

Return

Array|IXR_Error. Array contains (based on $fields parameter):

  • 'user_id'
  • 'username'
  • 'first_name'
  • 'last_name'
  • 'registered'
  • 'bio'
  • 'email'
  • 'nickname'
  • 'nicename'
  • 'url'
  • 'display_name'
  • 'roles'

Usage

$wp_xmlrpc_server = new wp_xmlrpc_server();
$wp_xmlrpc_server->wp_getUser( $args );
$args(array) (required)

Method arguments. Note: arguments must be ordered as documented.

  • 0(int)
    Blog ID (unused).

  • 1(string)
    Username.

  • 2(string)
    Password.

  • 3(int)
    User ID.

  • 4(array)
    Optional. Array of fields to return.

wp_xmlrpc_server::wp_getUser() code WP 6.5.2

public function wp_getUser( $args ) {
	if ( ! $this->minimum_args( $args, 4 ) ) {
		return $this->error;
	}

	$this->escape( $args );

	$username = $args[1];
	$password = $args[2];
	$user_id  = (int) $args[3];

	if ( isset( $args[4] ) ) {
		$fields = $args[4];
	} else {
		/**
		 * Filters the default user query fields used by the given XML-RPC method.
		 *
		 * @since 3.5.0
		 *
		 * @param array  $fields An array of user fields to retrieve. By default, contains 'all'.
		 * @param string $method The method name.
		 */
		$fields = apply_filters( 'xmlrpc_default_user_fields', array( 'all' ), 'wp.getUser' );
	}

	$user = $this->login( $username, $password );
	if ( ! $user ) {
		return $this->error;
	}

	/** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
	do_action( 'xmlrpc_call', 'wp.getUser', $args, $this );

	if ( ! current_user_can( 'edit_user', $user_id ) ) {
		return new IXR_Error( 401, __( 'Sorry, you are not allowed to edit this user.' ) );
	}

	$user_data = get_userdata( $user_id );

	if ( ! $user_data ) {
		return new IXR_Error( 404, __( 'Invalid user ID.' ) );
	}

	return $this->_prepare_user( $user_data, $fields );
}