소셜로그인 회원가입시 알림메일 발송건

안녕하세요 코스모스팜 회원관리 플러그인을 사용중인 유저입니다.

wp-member쪽에 설정에서 회원가입시 관리자에게 이메일을 보내도록 설정하였는대

일반적인 루트를 통하여 가입했을땐 정상적으로 발생되는대

소셜로그인을 통해 회원가입을 했을땐 알림 메일이 발송되지 않습니다.

원래의 소셜로그인을 통한 회원가입은 알림이메일 발송이 불가능한건지

아니면 다른 설정이 필요한 건지 알려주시면 감사하겠습니다.

 

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    cosmosfarm_members_user_social_register 액션을 활용하시면

    코스모스팜 회원관리 플러그인 소셜 로그인으로 회원가입 시

    코드를 추가하고 실행되게 하실 수 있습니다.

     

    아래 예제 코드를 활용해보시겠어요?

    add_action('cosmosfarm_members_user_social_register', 'cosmosfarm_members_user_social_register_20200902', 10, 2);
    function cosmosfarm_members_user_social_register_20200902($user_id, $social){
    	// 이곳에 코드를 추가해보세요.
    }

    테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.

     

    메일을 보내는 건 워드프레스 wp_mail 함수를 활용하면 가능합니다.

    자세한 내용은 아래의 링크를 참고해보세요.

    https://developer.wordpress.org/reference/functions/wp_mail/

    고맙습니다.

  • 안내해 주신대로 작업을 해보았으나 좀처럼 쉽게 wp_mail()쪽 작업이 원활하게 구현되지가 않아서 다시 문의드립니다.

    함수쪽을 찾아보다가 wp_mail() 함수를 사용하는 방법이외에

    wp member 플러그인의 include\class-wp-members-email.php 파일 안에 있는

    function notify_admin( $user_id, $wpmem_fields = null, $field_data = null ){} 이 함수를 호출하여 처리하면 될 것 같은대

    위의 코드를 추가해 주는 부분에 저 함수를 직접 호출할 수 있는 방법은 없을까요.??

     

  • notify_admin 메소드도 결국에는 wp_mail 함수를 활용합니다.

    오히려 로직이 복잡해집니다.

    아래의 코드를 활용해보시겠어요?

    add_action('cosmosfarm_members_user_social_register', 'cosmosfarm_members_user_social_register_20200902', 10, 2);
    function cosmosfarm_members_user_social_register_20200902($user_id, $social){
    	wp_mail('이메일주소', '제목', '내용');
    }

    위의 코드에서 이메일주소 부분은 실제 알림 받을 메일 주소로 적용해보세요.

    제목과 내용은 적절한 문구로 교체해보세요.

    고맙습니다.

  • 답변해 주신 내용대로 수정하여 특정주소로 메일 발송하는 과정까진 구현이 되었습니다.

    그런대 관리자에게 메일이 발송될때 어떤 사용자가 가입되었고 가입자의 정보도 함께

    포함해서 메일을 보낼려고 하는데 혹시 방법이  있을런지요? 

    그리고 cosmosfarm_members_user_social_register_20200902($user_id, $social) 에서

    $user_id, $social 두 매개변수가 어떤 값들을 포함하고 있는지도 알수 있을까요?

  • $user_id는 사용자 고유 ID(숫자)입니다.

    데이터베이스(DB) users 테이블의 ID 컬럼입니다.

    사용자가 직접 입력하는 것이 아니며 회원가입 시 자동으로 설정되는 값입니다.

    $social 변수는 Cosmosfarm_Members_Social_Login 클래스입니다.

    Cosmosfarm_Members_Social_Login 클래스 파일은

    FTP로 접속해서 /wp-content/plugins/cosmosfarm-members/class/Cosmosfarm_Members_Social_Login.class.php 파일입니다.

     

    $user_id 변수를 활용해서 사용자 정보를 가져오실 수 있습니다.

    WP_User 클래스나 get_userdata 함수 등을 활용하시면 가능합니다.

    자세한 내용은 아래 링크들을 참고해보세요.

    https://codex.wordpress.org/Class_Reference/WP_User
    https://developer.wordpress.org/reference/functions/get_userdata/

    고맙습니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요