1. 정확한 제품 또는 플러그인 이름
코스모스팜 회원관리
2. 상세 내용
관리자가 사용자 역할 변경 시 사용자에게 메일 발송 기능 설정 가능할까요?
3. 확인 가능한 상세 페이지 주소
4. 수정한 코드 내역 (있다면)
안녕하세요~^^
set_user_role 액션과 wp_mail 함수를 사용하여
코드를 작성하면 가능할 듯 합니다.
set_user_role 액션은 역할이 변경된 후 동작하는 액션입니다.
아래의 예제코드를 참고하여 테마 functions.php 파일에
코드를 입력해보시겠어요?
add_action('set_user_role', 'send_mail_after_cr_0701', 10, 3);
function send_mail_after_cr_0701($user_id, $role, $old_roles){
$user_email = get_userdata($user_id)->user_email;
$to = $user_email;
$subject = '제목';
$body = '내용';
$headers = array('Content-Type: text/html; charset=UTF-8');
wp_mail($to, $subject, $body, $headers);
}
고맙습니다.
와, 잘 되네요...!!
다만, 이렇게 적용하니 첫 회원가입을 할때에도 권한이 변경되었다는 알림이 오네요. ㅠㅠ
저희가 별도로 의사등급을 따로 만들었는데,
구독자에서 의사등급으로 변환시에만 메일이 갈 수 있도록 할 순 있을까요?
$old_roles, $role 파라미터를 이용하시면
가능하실 듯 합니다.
아래의 코드를 참고하여 적용해보시겠어요?
add_action('set_user_role', 'send_mail_after_cr_0701', 10, 3);
function send_mail_after_cr_0701($user_id, $role, $old_roles){
if(in_array('subscriber', $old_roles) && $role == 'doctor'){
$user_email = get_userdata($user_id)->user_email;
$to = $user_email;
$subject = '제목';
$body = '내용';
$headers = array('Content-Type: text/html; charset=UTF-8');
wp_mail($to, $subject, $body, $headers);
}
}
subscriber는 구독자이며 doctor는 임의로 입력해둔
의사 역할의 값입니다.
입력해두신 역할의 값에 맞게 적절이 변경해주세요.
고맙습니다.
정상적으로 잘 적용되었습니다! 정말 감사합니다.!!!