Функция username_exists()
проверяет, существует ли пользователь с указанным именем в базе данных WordPress. Она используется для того, чтобы избежать дублирования имен пользователей при регистрации новых учетных записей.
username_exists( string $username ): int|false
Функция проверяет, существует ли указанный логин (username) в базе данных WordPress. Если логин найден, функция возвращает ID пользователя. Если такого пользователя не существует, возвращается false
.
Параметры
- $username (строка) — Обязательный параметр. Имя пользователя, которое нужно проверить на существование.
Возвращаемое значение
- int — ID пользователя, если пользователь с таким логином существует.
- false — Если пользователь с указанным логином не найден.
Пример 1: Проверка имени пользователя при регистрации
Этот пример показывает, как использовать username_exists()
для проверки, доступно ли имя пользователя при регистрации новой учетной записи:
$username = sanitize_user( $_POST['username'] );
if ( username_exists( $username ) ) {
echo "Имя пользователя уже используется!";
} else {
echo "Вы можете использовать это имя пользователя!";
}
Если пользователь с введенным именем уже существует, функция выведет сообщение «Имя пользователя уже используется!». Если имя свободно, появится сообщение «Вы можете использовать это имя пользователя!».
Пример 2: Создание пользователя, если логин не существует
В этом примере мы сначала проверим, существует ли пользователь с данным логином. Если пользователь не найден, создадим нового:
function genius_get_user_id( $username ) {
$user_id = username_exists( $username );
if ( ! $user_id ) {
$userdata = array(
'user_login' => $username,
'user_pass' => wp_generate_password(), // Генерация пароля
);
// Создаем пользователя
$user_id = wp_insert_user( $userdata );
echo "Новый пользователь создан: ID = $user_id";
} else {
echo "Пользователь уже существует: ID = $user_id";
}
return $user_id;
}
// Пример использования функции
genius_get_user_id( 'ivan_petrov' );
Если логин «ivan_petrov» уже существует, результат будет таким:Пользователь уже существует: ID = 123
.
Если такого логина нет, будет создан новый пользователь, и выведется сообщение:Новый пользователь создан: ID = 456
.
Пример 3: Проверка имени пользователя в админ-панели
Этот пример демонстрирует, как можно использовать функцию username_exists()
для проверки существования пользователя при добавлении пользователя через админ-панель:
function check_username_in_admin( $username ) {
if ( username_exists( $username ) ) {
echo "Имя пользователя '$username' уже занято.";
} else {
echo "Имя пользователя '$username' доступно.";
}
}
// Пример использования
check_username_in_admin( 'admin' );
Если вы введете логин «admin», и такой пользователь уже существует, будет выведено:Имя пользователя 'admin' уже занято.
Если пользователь не найден:Имя пользователя 'admin' доступно.
Заключение
Функция username_exists()
— это важный инструмент для проверки уникальности имен пользователей в WordPress. Она полезна при регистрации новых пользователей, чтобы избежать создания дублирующихся учетных записей.