Flector

Как перенаправить пользователей после их первой авторизации?

Сообщение сразу после регистрации

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

//перенаправление пользователей после первой авторизации start
function wph_first_user_login($user_login, $user) {
    $new_user = get_user_meta($user->ID, '_new_user', true);
    if ($new_user) {
        update_user_meta($user->ID, '_new_user', '0');
        wp_redirect( home_url('/rules/') );
        exit;
    }
}
add_action('wp_login', 'wph_first_user_login', 10, 2);
//добавление мета при регистрации пользователя
function wph_register_add_meta($user_id) { 
	add_user_meta($user_id, '_new_user', '1');
}
add_action('user_register', 'wph_register_add_meta');
//перенаправление пользователей после первой авторизации end

Где "rules" это ярлык страницы, куда будет перенаправлен пользователь.


Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!