Автологин после регистрации
Прошу помощи с настройкой автологина и редиректом пользователя на разные страницы после регистрации.
- Для регистрации "закидываю" массив $userdata_for_registration через wp_insert_user().
- В зависимости от того, пустые переменные $maraphon_next_month или $maraphon_after_month хочу перенаправлять пользователя на разные страницы через wp_redirect, при этом пользователь должен автоматически залогинится в обоих случаях
- В functions.php создал 2 action с разными адресами для редиректа после регистрации.
Не работает... срабатывает только первое условие и первый action - всегда ведет на ../lk
Куки чистил, браузеры менял, переменные проверял
function complete_registration() { global $wpdb, $reg_errors, $password, $email, $telephone, $first_name, $maraphon_next_month, $maraphon_after_month; if ( count($reg_errors->get_error_messages()) < 1 ) { $userdata_for_registration = array( 'user_login' => $email, 'user_email' => $email, 'user_pass' => $password, 'telephone' => $telephone, 'first_name' => $first_name, ); $user = wp_insert_user( $userdata_for_registration ); //переадресация после регистрации с учетом выбранных услуг if( !empty($maraphon_next_month) || !empty($maraphon_after_month)) { do_action( 'user_register', 'auto_login_new_user' ); } else { do_action( 'hello_user_register', 'hello_auto_login_new_user' ); }; } }
Если переписать условие вот так, то все редиректится прекрасно (без автологина естественно).
//переадресация после регистрации с учетом выбранных услуг if( !empty($maraphon_next_month) || !empty($maraphon_after_month)) { header('Location: http://maraphone.ru/lk/'); } else { header('Location: http://maraphone.ru/hello/'); };
Код из functions.php
function auto_login_new_user( $user_id ) { wp_set_current_user($user_id); wp_set_auth_cookie($user_id); wp_redirect( 'http://maraphone.ru/lk' ); exit; } add_action( 'user_register', 'auto_login_new_user' ); function hello_auto_login_new_user( $user_id ) { wp_set_current_user($user_id); wp_set_auth_cookie($user_id); wp_redirect( 'http://maraphone.ru/hello' ); exit; } add_action( 'hello_user_register', 'hello_auto_login_new_user' );
Помогите разобраться с этой магией
Ну так если тебе понятно где проблема, то и переделай тут, что бы проверить посмотри как работают эти проверки.
Разберись почему у тебя там всегда пусто.
А еще наверное нада это:
А так пробывал?