wp_xmlrpc_server::login()publicWP 2.8.0

Logs user in.

Method of the class: wp_xmlrpc_server{}

Hooks from the method

Return

WP_User|false. WP_User object if authentication passed, false otherwise.

Usage

$wp_xmlrpc_server = new wp_xmlrpc_server();
$wp_xmlrpc_server->login( $username, $password );
$username(string) (required)
User's username.
$password(string) (required)
User's password.

Changelog

Since 2.8.0 Introduced.

wp_xmlrpc_server::login() code WP 6.4.3

public function login( $username, $password ) {
	if ( ! $this->is_enabled ) {
		$this->error = new IXR_Error( 405, sprintf( __( 'XML-RPC services are disabled on this site.' ) ) );
		return false;
	}

	if ( $this->auth_failed ) {
		$user = new WP_Error( 'login_prevented' );
	} else {
		$user = wp_authenticate( $username, $password );
	}

	if ( is_wp_error( $user ) ) {
		$this->error = new IXR_Error( 403, __( 'Incorrect username or password.' ) );

		// Flag that authentication has failed once on this wp_xmlrpc_server instance.
		$this->auth_failed = true;

		/**
		 * Filters the XML-RPC user login error message.
		 *
		 * @since 3.5.0
		 *
		 * @param IXR_Error $error The XML-RPC error message.
		 * @param WP_Error  $user  WP_Error object.
		 */
		$this->error = apply_filters( 'xmlrpc_login_error', $this->error, $user );
		return false;
	}

	wp_set_current_user( $user->ID );
	return $user;
}