안녕하세요, 코스모스팜 회원관리를 사용중인데
일반 회원과 관리자의 로그인 후 리다이렉트 페이지를 별도로 이용 하고자 합니다.
코스모스팜 회원관리에는 전체적인 설정만 있는듯 하여
Peter's login redirect 플러그인을 이용하여 설정 하였으나 동작이 되지 않습니다.
코스모스팜 회원관리에 있는 리다이렉트 기능과 충돌되는 부분인지 궁금하며
Peter's login redirect를 사용 하려면 어떤 부분을 수정해야하는지 또는
코스모스팜 회원관리만을 가지고 해당 기능을 구현 가능한지 궁금합니다.
바쁘신데 늘 답변 감사드리며 이번 건도 잘 부탁 드립니다.
감사합니다.
코스모스팜 회원관리 플러그인을 사용해서
관리자와 일반 사용자 리다이렉트를 구분하는 방법을 알려드리겠습니다.
우선은
/wp-content/plugins/cosmosfarm-members/class/Cosmosfarm_Members_Skin.class.php 파일을 수정해주세요.
아래 코드에서 굵게 표시된 코드를 새로 추가해주세요.
(코스모스팜 회원관리 플러그인을 업데이트해서 다음에는 따로 수정하지 않아도 동작하도록 하겠습니다.)
public function login_form($form, $action){
if($action == 'login'){
$option = get_cosmosfarm_members_option();
$redirect_to = isset($_GET['redirect_to']) ? $_GET['redirect_to'] : home_url();
$redirect_to = apply_filters('cosmosfarm_members_login_redirect_to', $redirect_to);
if(file_exists(COSMOSFARM_MEMBERS_DIR_PATH . "/skin/{$option->skin}/login-form.php")){
ob_start();
include_once COSMOSFARM_MEMBERS_DIR_PATH . "/skin/{$option->skin}/login-form.php";
$form = ob_get_clean();
}
}
return $form;
}
아래 코드를 테마의 functions.php 파일 하단에 추가해주세요.
그 다음 각각의 주소를 적절히 수정해주세요.
add_filter('cosmosfarm_members_login_redirect_to', 'my_login_redirect_to', 999);
function my_login_redirect_to($redirect_to){
if(current_user_can('activate_plugins')){
// 관리자 리다이렉트 주소
$redirect_to = 'http://www.cosmosfarm.com/';
}
else{
// 일반 사용자 리다이렉트 주소
$redirect_to = 'http://www.cosmosfarm.com/';
}
return $redirect_to;
}
상황 설명을 좀 더 구체적으로 해주시면 추가로 도움 드리겠습니다^^
알려주신 부분 추가 하였으나 아쉽게도 동작이 안됩니다.
일반회원 및 관리자 모두 일반 사용자 리다이렉트 주소에 기입된 주소로 이동됩니다.
상황은 로그인 시 일반 회원은 A게시판으로 보내고
관리자는 B게시판으로 가려고 합니다.
일반회원은 구독자 레벨로 되어있습니다.
코스모스팜 회원관리의 관리자 설정에서 리다이렉트 설정은 기본 설정으로 되어있습니다.
A게시판, B게시판 주소를 입력 해두신 상태에서 사이트를 확인해봐야 겠습니다.
사이트 주소도 알려주셔야 할 듯합니다^^