validate_username()
Перевіряє правильність написання імені користувача (username – логіна).
Якщо в імені користувача буде використано неприпустимі символи, то функція поверне false — перевірку не пройдено.
Дозволені символи: a-z _ - пробел . @, тобто. латинський алфавіт, цифри та _ - пробел . @.
Підходить для перевірки логіна , але не відображуваного імені! Т.к. основу роботи лежить функція sanitize_user() з другим параметром true, тобто. суворе очищення. Так, наприклад, всі кирилиці будуть видалені.
Працює на основі:
sanitize_user()
sanitize_user()
Хуки з функції
Повертає
true|false. true, якщо ім’я відповідає нормам, інакше false.
Використання
if( ! validate_username( $username ) ){
// неправильний логін
}- $username
(рядок) (обов’язковий) - Ім’я користувача (логін) для перевірки.
Приклади
#1 Перевіримо логін новоствореного користувача та його існування у Базі Даних.
Якщо ім’я пройшло перевірку і такого користувача ще немає у БД, то зареєструємо користувача:
<?php
$username = $_POST['username'];
$error = false;
if( !validate_username( $username ) )
$error = "В імені користувача використані неприпустимі символи!";
if ( !$error && username_exists( $username ) )
$error = "Таке ім'я користувача вже використовується!";
if( !$error ){
// можна реєструвати
}
?>
список змін
| З версії 2.0.1 | Введено. |
| З версії 4.4.0 | Empty sanitized usernames як тепер вважається неправильним. |
Код validate_username() validate username WP 6.0.2
function validate_username( $username ) {
$ sanitized = sanitize_user ($ username, true);
$valid = ( $sanitized == $username && ! empty( $sanitized ) );
/**
* Filters whether the provided username is valid.
*
* @ Since 2.0.1
*
* @param bool $valid Whether given username is valid.
* @param string $username Username to check.
*/
return apply_filters( 'validate_username', $valid, $username );
}