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

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. 수정한 코드 내역 (있다면)

위에 설명

 

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