Поддержка Проблемы и решения Не могу авторизировать пользователя, после регистраци

  • Добрый день. Не могу авторизировать пользователя после регистрации. Данные для регистрации получаю через api, поэтому пользователя регистрирую вручную через new_user_registration. Затем пробую авторизировать нового пользователя так:

    $creds = array();
    $creds['user_login'] = 'username@mail.com';
    $creds['user_password'] = 'password';
    $creds['remember'] = true;
    $user = wp_signon( $creds, false );
    if ( is_wp_error($user) )
    	echo $user->get_error_message();

    Но ничего не выходит, сообщения об ошибке нет, все ок, но юзера не авторизирует. Подскажите в чем проблема. Спасибо.
    P.s пробовал через wp_authenticate(), результат тот же.

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Забыл указать, что пользователь успешно регистрируется, это видно и в базе и в админке.

    Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

    А так:

    function custom_login() {
    	$creds = array();
    	$creds['user_login'] = 'username@mail.com';
    	$creds['user_password'] = 'password';
    	$creds['remember'] = true;
    	$user = wp_signon( $creds, false );
    	if ( is_wp_error($user) )
    		echo $user->get_error_message();
    }
    add_action( 'after_setup_theme', 'custom_login' );

    Авторизация должна произойти до вывода контента и отправки заголовков, чтобы установить куки, иначе пользователь не будет авторизован.

    Спасибо. Причина именно в том что получаю данные уже после получения заголовков. Как итог — куки не устанавливались, пользователь не авторизовался.

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «Не могу авторизировать пользователя, после регистраци» закрыта для новых ответов.