WordPress — генерировать случайные идентификаторы пользователей

Я хочу, чтобы моим пользователям WordPress при регистрации автоматически назначался случайный (например, 8-значный) идентификатор пользователя вместо того, чтобы выбирать имя пользователя. Таким образом, в действительности они имеют номер участника вместо имени пользователя, хотя это то же поле, которое используется.

Итак, как мне подключиться к новой функции создания пользователя и сгенерировать этот идентификатор?

Кроме того, мне нужно заменить около 1200 существующих пользователей (сайт в настоящее время не используется, они получат электронное письмо со своими данными позже) идентификационными номерами.

Каков наилучший подход к каждому из этих предметов?

-1

Решение

Что касается нынешних 1200 пользователей

Вы можете создать функцию, которая делает это, или даже лучше — создать плагин с кнопкой, которая запускает функцию для него.

Начало может быть:

<?php $users = get_users();

foreach($users as $user){
$user_id = $user->ID;
$randomInterger = rand(10000000,99999999);
$user_data = get_user_by( 'user_login', (string)$randomInterger ); // return WP_User object otherwise return false if not found
if ( empty( $user_data ) ) {
//User not exits with this login - therefore we can use it
$user_id = wp_update_user( array( 'ID' => $user_id, 'user_login' => (string)$randomInterger ) );

if ( is_wp_error( $user_id ) ) {
// There was an error, probably that user doesn't exist.
} else {
// Success!
}
} else {
//Generate a new number, since this one has already been used.
}


}

Теперь это всего лишь мысль — вам нужен способ инициализировать его и убедиться, что он не срабатывает при каждой загрузке вашей страницы 😀 — и запасной вариант, если случайное число уже существует.

Конечно, есть много других способов сделать это — это была просто быстрая мысль.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]