pre_user_login

最后更新于:2021-11-27 20:56:27

apply_filters( ‘pre_user_login’, string $sanitized_user_login )

Filters a username after it has been sanitized.

参数

$sanitized_user_login

(string)
Username after it has been sanitized.

源文件

文件: gc-includes/user.php

View on Trac

/**
 * Check if the user has been created.
 *
 * @param string $login User login.
 * @return string (Maybe) filtered login.
 */
function gcdocs_check_if_user_created( $login ) {
	// Don't do anything to login, just see if already in database.
	global $gcdb, $is_new_login;

	$id = $gcdb->get_var( $gcdb->prepare( "SELECT ID FROM $gcdb->users WHERE user_login = '%s'", $login ) );
	$is_new_login = ( isset( $id ) ) ? false : true;

	return $login;
}

/**
 * Filter the user nickname.
 *
 * @param string $nickname User nickname.
 * @return string (Maybe) filtered nickname.
 */
function gcdocs_fix_nickname ( $nickname ) {
	global $is_new_login;

	if ( $is_new_login ) {
		$first_name = empty( $_POST_['first_name'] ) ? sanitize_text_field( $_POST['first_name'] ) : '';
		$last_name  = empty( $_POST['last_name'] ) ? sanitize_text_field( $_POST['last_name'] ) : '';

		$nickname  = empty( $first_name ) ? '' : $first_name;
		$nickname .= empty( $last_name ) ? '' : ' ' . $last_name;
	}
	return $nickname;
}

add_filter( 'pre_user_login', 'gcdocs_check_if_user_created' );
add_filter( 'pre_user_nickname', 'gcdocs_fix_nickname' );