코스모스팜 회원관리 자동등업 특정역할 제외

1. 정확한 제품 또는 플러그인 이름 

코스모스팜 회원관리 

 

2. 상세 내용 

코스모스팜 회원관리에 자동 등업 기능 중에서 특정 역할을 제외하고 자동 등업을 사용하고 싶습니다. 

아래와 같이 코스모스팜 스레드를 찾아 기업회원, 개인회원을 나누어 가입하게 되도록 코드를 추가하여, 회원가입 시에는 기업회원이 정상적으로 기업회원 등급으로 변경되어 가입이 되게 됩니다. 

다만, 그렇게 가입한 기업회원이 로그인을 진행하게 될 경우 일일 로그인 포인트가 지급되면서 자동으로 회원 등급이 개인회원 등급으로 변경되게 됩니다. 

개인회원 등급 1단계 포인트 ( 0 ~ 999) 

회원가입, 로그인 시 지급 포인트 각각 100포인트 

기업회원이 가입을 하고 로그인하는 순간 변경이 돼서 관리자 페이지 > 사용자 > 특정 사용자명 클릭 > 자동 등업 제외하기는 사용이 사실상 불가능합니다. 

코드를 추가하여 작업할 수 있는 방법 또는 코스모스 팜 회원관리의 자동 등업 코드에서 포인트를 확인하고 회원 등급을 변경하기 전에 기업회원일 경우 회원 변경을 하지 않거나, 또는 기업회원의 경우 기업회원으로만 변경되도록 수정할 수 있도록 하는 코드가 필요해 보입니다.

 

 

3. 수정한 코드 내역 (있다면)

add_filter('wpmem_register_form_rows', 'my_register_form_rows_filter', 10, 2);
function my_register_form_rows_filter($rows, $toggle){
    if(isset($_GET['members_type'])&&$_GET['members_type']=='type1'){
        // 기업회원에게는 표시되지 않습니다.
        unset($rows['companyMember']);
    }
    else{
        // 개인회원에게는 표시되지 않습니다.
        unset($rows['member']);
    }
    
    return $rows;
}

add_action('user_register', 'foo_set_new_user_role', 9999, 1);
function foo_set_new_user_role($user_id){
    $user = new WP_User( $user_id );

    $userCom = $user->get('companyMember');
    if($userCom == '1') {
        $user->set_role('companymember');    
    } 
}

add_action('init', 'my_init');
function my_init(){
    $user = wp_get_current_user();
    if ( in_array( 'companymember', (array) $user->roles ) ) {
        remove_action('mycred_init', 'cosmosfarm_members_mycred_init');
    }
}

 

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기