1. 정확한 제품 또는 플러그인 이름
역할변경 for 우커머스
2. 상세 내용
역할변경 상품 "A"를 구매한 후 역할기간이 남아있는 상태에서 고객이 동일 상품을 재구매 합니다.
이때 역할기간은 합산되어 늘어나 있는 상황에서
만약 두번째 구매를 환불처리 한다면 역할 종료기간이 아예 사라지는 상황입니다.
코드를 확인했을때 이 상황의 발생이유는 다음과 같이 추정됩니다.
function change_role_after_order_completed($order_id){
...
if($pre_order_id){
delete_post_meta($pre_order_id, 'cosmos_auto_role_changer_end_date');
***** 이전 주문이 있다면 여기서 이전 주문의 역할 종료기간을 삭제하는것으로 보임
...
}
/**
* 역할 변경의 기간이 초과된 주문의 역할 정보를 삭제한다.
*/
public function return_to_original_role(){
...
if($end_user_role){ // 종료 후 역할 유무 체크
$user->add_role($end_user_role); // 종료 후 역할로 변경
delete_post_meta($order_id, '_cosmosfarm_auto_role_changer_end_role'); // 종료 후 역할 데이터 삭제
}
else{
$user->add_role($default_role); // 기본 역할로 복귀
}
delete_post_meta($order_id, 'cosmos_auto_role_changer_start_date'); // 주문 데이터에 시작일 삭제
delete_post_meta($order_id, 'cosmos_auto_role_changer_end_date'); // 주문 데이터에 종료일 삭제
***** 환불 했을 경우 환불하는 주문 데이터의 시작일, 종료일을 여기서 모두 삭제하는 것으로 보임
}
}
}
}
질문입니다!
1. 만약 같은 상품을 구매했을때 이전 주문의 종료일을 삭제 하지 않으면 어떻게 되나요?
2. 환불시에도 이전 주문의 남아있는 기간을 설정할 수 있는 방법은 없나요??
답변 부탁드립니다.
1. 현재 코드 구조 상 상품을 언제 구매하였느냐에 관계없이 환불한다면
변경된 역할에서 원래 역할 혹은 지정된 역할로 돌아가게 되어 있습니다.
따라서, 환불을 하지 않는다면 남은 기간 + 추가 기간으로 더해집니다.
2. 현재는 해당 옵션을 지원하고 있지 않습니다.
빠른 시일 내에 업데이트 후 다시 안내 드리도록 하겠습니다.
고맙습니다.
안녕하세요~^^
저희쪽에서 해당플러그인 확인 후
다시 답변 드리겠습니다.
고맙습니다.