wp_signon работает только для входа администратора - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь использовать wp_signon для входа в систему пользователей, но это не помогает. Только администратор может войти в систему. Для всех остальных, он говорит неправильный пароль. Из моей формы я получаю письмо и пароль. Используя get_user_by, я получаю имя пользователя и пытаюсь аутентифицироваться, используя логин и пароль, но он постоянно говорит, что пароль неверный.

function ajax_login()
{
  // First check the nonce, if it fails the function will break
  check_ajax_referer('ajax-signup-nonce', 'security');

  // Checking if user with this email exists
  $user=get_user_by('email', $_POST['email']);

  if (!$user) {
    echo json_encode(array('loggedin'=>false, 'message'=>__('$user not found')));
    die();
  }

  $login_name = $user->data->user_login;

  $info = array();
  $info['user_login'] = $login_name;
  $info['user_password'] = $_POST['password'];
  $info['remember'] = 'true';

  $user_signin = wp_signon($info, false);
  if (is_wp_error($user_signin)){
      echo json_encode(array('loggedin'=>false, 'error'=>$user_signin->get_error_message()));
  } else {
    echo json_encode(array('loggedin'=>true, 'message'=>__('Success. Logging in.')));
  }

  die();
}
add_action('wp_ajax_nopriv_ajaxlogin', 'ajax_login');

Полученное сообщение об ошибке:

« Ошибка : пароль, введенный вами для имени пользователя John_829856 , неверен.»

Любой способ исправить это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...