저 혼자만 쓰기 아까워서...

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

코스모스팜 회원관리

 

2. 상세 내용

작년 9~10월쯤 처음 워드프레스 시작할 때 문의글을 작성했었습니다.
https://www.cosmosfarm.com/threads/document/61479?page=3

소셜로그인 기능 중 기존 회원들이 자신의 SNS와 기존 아이디를 연결 및 연결 해제에 대한 기능인데요.
당시에 어찌어찌 공부해서 직접 코드를 수정하여 원하던 기능을 현재까지 잘 이용하고 있습니다.

다른 건 없고, 코스모스팜 회원관리 플러그인이 더 완벽해지길 바라는 마음에 공유 글을 작성해봅니다. 혹시라도 문제가 될 시 삭제하겠습니다.

마이페이지 소셜 로그인 연동 숏코드 모습

수정한 코드 경로: cosmosfarm-members/class/Cosmosfarm_Members_Controller.class.php 2438번째 줄부터 2503번째 줄까지(social_login_callback() 함수)
코드 대조

아래는 연동 해제 버튼 숏코드의 함수입니다.

//소셜로그인 연동해제 버튼 숏코드
function delete_user_meta_shortcode()
{
  $user_id = get_current_user_id();
  $cosmosfarm_members_social_id = get_user_meta($user_id, 'cosmosfarm_members_social_id', true);
  $cosmosfarm_members_social_channel = get_user_meta($user_id, 'cosmosfarm_members_social_channel', true);
  $social_login_first_update = get_user_meta($user_id, 'social_login_first_update', true);

  if ($cosmosfarm_members_social_id || $cosmosfarm_members_social_channel || $social_login_first_update) {
    ?>
    <form action="" method="post">
      <input type="hidden" name="delete_user_meta" value="1">
      <input type="submit" value="소셜 로그인 연동 해제">
    </form>
    <?php
    if (isset($_POST['delete_user_meta'])) {
      delete_user_meta($user_id, 'cosmosfarm_members_social_id');
      delete_user_meta($user_id, 'cosmosfarm_members_social_channel');
      delete_user_meta($user_id, 'social_login_first_update');
      delete_user_meta($user_id, 'cosmosfarm_members_social_picture');
      echo "<script>alert('소셜 로그인 연동이 해제되었습니다. 소셜로그인으로 회원가입하신 경우 비밀번호를 꼭 변경해주십시오.')</script>";
    }
  } else {
    return '소셜 로그인을 클릭하여 현재 계정과 연동할 수 있습니다.';
  }
}
add_shortcode('delete_user_meta', 'delete_user_meta_shortcode');

3. 확인 가능한 상세 페이지 주소

https://metamind.kr/register

https://metamind.kr/login

https://metamind.kr/mypage/profile1

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

위에 설명

 

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기