Ajax wp针对用户角色登录

Ajax wp针对用户角色登录,ajax,wordpress,Ajax,Wordpress,我正在使用这个代码- $info = array(); $info['user_login'] = $_POST['username']; $info['user_password'] = $_POST['password']; $info['remember'] = true; $user_signon = wp_signon( $info, false ); if ( is_wp_error($user_signon) ){ ech

我正在使用这个代码-

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

    $user_signon = wp_signon( $info, false );

    if ( is_wp_error($user_signon) ){
        echo json_encode(array('loggedin'=>false, 'message'=>__('Wrong username or password.')));
    } else {
        echo json_encode(array('loggedin'=>true, 'message'=>__('Login successful, redirecting...')));
    }

    die();

登录正常。但是如何在此函数中限制具有编辑器角色的用户,以便我可以检查角色,如果存在,则我将在json中传递自定义错误消息?

要限制特定的用户角色,首先应检查用户角色。如果用户具有受限制的角色,则只需不执行登录操作,并通过错误消息,否则通过
wp\u signon
登录用户。下面是完整的代码应该是什么样子

$info                  = array();
$info['user_login']    = $_POST['username'];
$info['user_password'] = $_POST['password'];
$info['remember']      = true;
$user                  = get_user_by( 'login', $info['user_login'] );

if ( $user && in_array( 'editor', (array) $user->roles ) ) {
  echo json_encode(array('loggedin'=>false, 'message'=>__('Editors are restricted.')));

}else{

  $user_signon = wp_signon( $info, false );

  if ( is_wp_error($user_signon) ){
    echo json_encode(array('loggedin'=>false, 'message'=>__('Wrong username or password.')));
  } else {
    echo json_encode(array('loggedin'=>true, 'message'=>__('Login successful, redirecting...')));
  }

}

好的,如果我在数组中找到了角色,那么如何防止用户使用is wp error函数登录?你能给我一个详细的代码和我的功能吗?