Как получить идентификатор пользователя в wordpress после регистрации?

Я работаю над отправкой OTP пользователю и проверяю его.

Я использую wordpress, и я создал поле номера мобильного телефона в регистрационной форме по умолчанию, и когда пользователь отправит регистрационную форму, он получит otp, который мы сгенерировали с помощью алгоритма и использовали sms API для отправки sms.

После отправки регистрационной формы он перенаправит на одну страницу на той странице, на которой я хочу получить данные зарегистрированных пользователей, такие как фамилия, имя.

Чтобы я мог проверить otp для этого пользователя.

Другое дело, как пользователь будет зарегистрирован только после проверки OTP.


person Venky Vadloori    schedule 30.11.2016    source источник
comment
Может быть полезно developer.wordpress.org/reference/functions/get_user_by   -  person hisener    schedule 30.11.2016


Ответы (1)


Хук user_register срабатывает сразу после успешной регистрации.

add_action( 'user_register', 'my_theme_registration_do_stuff', 10, 1 );

function my_theme_registration_do_stuff( $user_id ) {

    // the only native way in WP to 'deactivate' a user is to set the role to 'none'. Read up on the implications of this and decide if this will suffice. If not, then you'll need to create some sort of user_meta to use for active/inactive user

    $u = new WP_User( $user_id );
    // Remove role
    $u->remove_role( 'subscriber' ); //or whatever your site's default role is

}

Теперь пользователь перейдет на следующую страницу.

После того, как пользователь получит SMS-сообщение с кодом и введет код в какую-либо форму на вашем сайте:

  if(the code entered is correct){
      $user = new WP_User( get_current_user_id() );
      $user->add_role( 'subscriber' );
  }
person Dan.    schedule 30.11.2016