안녕하세요. 회원관리 플러그인 구매 및 설치 후 잘 사용하고 있습니다.
이전 올라온 내용들 검색을 해봤는데, 참고할 케이스가 보이지 않아 문의글 드립니다.
로그인 시 주체가 최고관리자 여러명과 기타 나머지 고객으로 분류가 됩니다.
두 주체가 로그인했을때 다른 리다이렉트 페이지로 이동하고 싶은데 어떻게 해야할까요?
"Peter's login redirect" 플러그인은 작동이 잘 되다가 회원관리 플러그인 설치 후 충돌이 생기는지 작동이 되지 않으며,
예전에 비슷한 문의글을 찾았지만, 업데이트되어 지금과 환경이 많이 다릅니다.
지금 설정에는 "로그인 완료후 이동" 옵션을 통해 한곳으로 밖에 이동이 되지 않습니다.
참고할만한 답변이 있다면 꼭 부탁드립니다. 좋은 플러그인 감사합니다.
안녕하세요~^^
관리자 역할과 특정한 역할이 로그인 한 경우
각각 다르게 페이지가 이동되길 원하시는 건가요?
아래의 코드를 테마 functions.php 파일 하단에
삽입하여 적용해보시겠어요?
add_filter('login_redirect', 'my_login_redirect', 10, 3);
function my_login_redirect($redirect_to, $request, $user){
if(isset($user->roles) && is_array($user->roles)){
if(in_array('administrator', $user->roles)){
$redirect_to = '페이지 주소'; // 관리자 역할 로그인 후 이동할 페이지
}
elseif(in_array('사용자 역할', $user->roles)){
$redirect_to = '페이지 주소'; // 로그인 후 이동할 페이지
}
}
return $redirect_to;
}
사용자 역할에는 번역된 역할명이 아닌 subscriber와 같이 Role name (ID)를 입력해주세요.
페이지 주소에는 로그인 후 이동될 페이지 주소를 각각 입력해주세요
고맙습니다.
답변주신 글 잘 확인하였으며, 바로 테스트 해보았습니다.
일단 설정의 "로그인 완료 후 이동" 전제가 기본으로 되어있어야 작동을 합니다.
다만 관리자와 구독자 등 직접 회원가입은 작동을 잘하는데,
네이버와 카카오같은 소셜로 로그인을 할 경우 구독자와 같이 특정페이지로 이동이 안됩니다.
혹 이부분 더 조언해 주실수 있는지 확인 부탁드리겠습니다.
감사합니다.
아래 코드로 변경하여 적용해보시겠어요?
add_filter('login_redirect', 'my_login_redirect_210825', 10, 3);
function my_login_redirect_210825($redirect_to, $request, $user){
if(isset($user->roles) && is_array($user->roles)){
if(in_array('administrator', $user->roles)){
$redirect_to = '페이지 주소'; // 관리자 역할 로그인 후 이동할 페이지
}
else{
$redirect_to = '페이지 주소'; // 관리자 외 로그인 후 이동할 페이지
}
}
return $redirect_to;
}
고맙습니다.
넵. 확인하겠습니다.
추가 답변 감사드립니다.