Зарегистрируйтесь в WordPress без имени пользователя, но с идентификатором пользователя Уникальный - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть простая форма регистрации WordPress.Я смог отменить поле «Имя пользователя». Что теперь происходит - электронная почта пользователя - это имя пользователя.Я хочу, чтобы у меня не было имени пользователя, просто идентификатор пользователя Уникальный.

Если это невозможно, возможно, можно отправить тот же адрес электронной почты, но добавить номер позже автоматически, например:

1@gmail.com
1@gmail.com-1
1@gmail.com-2

1 Ответ

0 голосов
/ 17 сентября 2018

Вы можете использовать функцию wp_insert_user для создания пользователя без адреса электронной почты.

$user_data = array(
  'user_login' => 'username-here',
  'user_pass'  => 'password-here',
);

$user_id = wp_insert_user( $user_data );

if ( is_wp_error( $user_id ) ) {
    // There was an error
} else {
    // Success!
}

См .: https://codex.wordpress.org/Function_Reference/wp_insert_user

Если вы не хотите использовать имя пользователявы можете сгенерировать случайную, используя uniqid php функцию.

См .: http://php.net/manual/en/function.uniqid.php
Библиотека: https://github.com/ramsey/uuid

В качестве альтернативы вы можете использовать эту вспомогательную функцию.

function uuid() {
    return sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
        mt_rand(0, 0xffff), mt_rand(0, 0xffff),
        mt_rand(0, 0xffff),
        mt_rand(0, 0x0fff) | 0x4000,
        mt_rand(0, 0x3fff) | 0x8000,
        mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
    );
}

См .: https://solvit.io/50064cf

Обновление - уникальный идентификатор пользователя после регистрации с использованием простых форм регистрации

function uuid() {
  return sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
      mt_rand(0, 0xffff), mt_rand(0, 0xffff),
      mt_rand(0, 0xffff),
      mt_rand(0, 0x0fff) | 0x4000,
      mt_rand(0, 0x3fff) | 0x8000,
      mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
  );
}

add_action('erf_user_created', 'generate_unique_id_after_user_created', 10, 3);

function generate_unique_id_after_user_created( $user_id, $form_id,$sub_id ) {
  if( !empty( $user_id ) ) {
    $user_data = array(
      'ID' => $user_id,
      'user_login' => uuid(),
      'user_email' => '',
    );

    $updated_user_id = wp_update_user( $user_data );

    if ( is_wp_error( $updated_user_id ) ) {
      // There was an error, probably that user doesn't exist.
    } else {
      // Success!
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...