WP_REST_Users_Controller::check_username( string $value, WP_REST_Request $request, string $param ): string|WP_Error

Check a username for the REST API.


Description

Performs a couple of checks like edit_user() in wp-admin/includes/user.php.


Top ↑

Parameters

$value string Required
The username submitted in the request.
$request WP_REST_Request Required
Full details about the request.
$param string Required
The parameter name.

Top ↑

Return

string|WP_Error The sanitized username, if valid, otherwise an error.


Top ↑

Source

File: wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php. View all references

public function check_username( $value, $request, $param ) {
	$username = (string) $value;

	if ( ! validate_username( $username ) ) {
		return new WP_Error(
			'rest_user_invalid_username',
			__( 'This username is invalid because it uses illegal characters. Please enter a valid username.' ),
			array( 'status' => 400 )
		);
	}

	/** This filter is documented in wp-includes/user.php */
	$illegal_logins = (array) apply_filters( 'illegal_user_logins', array() );

	if ( in_array( strtolower( $username ), array_map( 'strtolower', $illegal_logins ), true ) ) {
		return new WP_Error(
			'rest_user_invalid_username',
			__( 'Sorry, that username is not allowed.' ),
			array( 'status' => 400 )
		);
	}

	return $username;
}

Top ↑

Hooks



Top ↑

Changelog

Changelog
Version Description
4.7.0 Introduced.

Top ↑

User Contributed Notes

You must log in before being able to contribute a note or feedback.