2015-05-08 3 views
2

Я создал новую роль пользователя с именем student_role Я хочу перенаправить пользователя с этой ролью, чтобы сформировать страницу (которую я создал из wp передняя часть), когда он входит в систему.Как перенаправить пользователя с определенным «ROLE» на определенную страницу после входа в систему Wordpress

Я пробовал использовать плагин переадресации peter, но не смог.

ответ

2

Попробуйте это:

function rohil_login_redirect_based_on_roles($user_login, $user) { 

    if(in_array('student_role',$user->roles)){ 
     exit(wp_redirect('Your page link goes here')); 
    } 
} 

add_action('wp_login', 'rohil_login_redirect_based_on_roles', 10, 2); 

Объяснение

Если вы посмотрите на codex, вы обнаружите, что wp_login обеспечивает два параметра: 1) $user_login который будет возвращать строку и 2) $user будет возвращает объект, содержащий все детали.

Но вам необходимо убедиться, что вы также перейдете priority к этим параметрам в противном случае. Это даст вам ошибку.

Если вы хотите увидеть, какие данные находятся в этом параметре, вы можете запустить ниже код для цели обучения.

function rohil_login_redirect_based_on_roles($user_login, $user) { 

    var_dump($user); // Will give you an object 
    var_dump($user_login); //Will give you a string 
    die(); 

} 
add_action('wp_login', 'rohil_login_redirect_based_on_roles', 10, 2); 

Убедитесь, что вы удалите выше код из functions.php после проверки того, что данные, которые он содержит

Так как вы можете $user объекта содержит роли, который показывает, вошедшие в роли пользователя. Таким образом, я просто проверил, что if($user->roles[0] === 'student_role'), если текущий зарегистрированный пользователь имеет student_role, тогда wp_redirect('Your page link goes here') перенаправляет их на какую-то страницу.

Сообщите мне, если у вас есть какие-либо сомнения.

+0

Спасибо, что он сработал отлично –

+0

Можете ли вы, пожалуйста, объяснить код ура. Я имею в виду, что y u передал параметры для работы. и, пожалуйста, скажите, что вы использовали крючок действия, например add_action ('wp_login', 'rohil_login_redirect_based_on_roles', 10, 2); –

+0

Отлично ... и, пожалуйста, скажите, что это делает: add_action ('wp_login', 'rohil_login_redirect_based_on_roles', 10, 2); –

Смежные вопросы