add_action('cosmosfarm_members_user_social_register','comosfarm_members_user_social_register', 10, 2);
function comosfarm_members_user_social_register($user_id, $social_login){
"<script>console.log( 'PHP_Console: " . $social_login . "' );</script>";
if($social_login->channel == 'naver'){
if(isset($social_login->raw_data->email)){
wp_update_user(array('ID'=>$user_id, 'email'=>$social_login->raw_data->email));
}
if(isset($social_login->raw_data->name) && $social_login->raw_data->name){
wp_update_user(array('ID'=>$user_id, 'display_name'=>$social_login->raw_data->name));
}
if(isset($social_login->raw_data->gender)){
wp_update_user(array('ID'=>$user_id, 'user_sex'=>$social_login->raw_data->gender));
}
if(isset($social_login->raw_data->age)){
wp_update_user(array('ID'=>$user_id, 'age'=>$social_login->raw_data->age));
}
}
}
안녕하세요 네이버 소셜로그인을 코스모스팜과 연동중에 저희가 네이버에서 나이와 성별을 받아오려고 합니다.
위 예제에 나온대로 회원이름을 받아오는 걸 활용해서 나머지 필드도 받아오려고 하는데 관리자 페이지를 보면 필드가 안들어오는 것 같더라구요. 저렇게 작성하면 들어오던 회원이름도 이상하게 들어오고.. 예제를 더 만들어 주실수 있으신가요?
감사합니다 큰 도움이 되었습니다!!
페이스북 소셜 로그인 경우에는
아래의 코드를 활용해보시겠어요?
add_action('cosmosfarm_members_user_social_register','comosfarm_members_user_social_register_facebook', 10, 2);
function comosfarm_members_user_social_register_facebook($user_id, $social_login){
if($social_login->channel == 'facebook'){
if(isset($social_login->raw_data->name)){
wp_update_user(array('ID'=>$user_id, 'display_name'=>$social_login->raw_data->name));
}
}
}
페이스북 소셜 로그인 설정 방법은
아래의 링크를 참고해보세요.
추가로, 소셜 로그인 시 이메일은 별도로 추가하지 않으셔도
소셜 쪽에서 보내준 이메일로 등록이 됩니다.
이미 등록된 이메일이라면 소셜 쪽에서 받아온 메일이 아닌
임의의 문자로 변환해서 사용자를 등록하고 있습니다.
고맙습니다.
감사합니다. 혹시 페이스북 예제도 있을까요?
안녕하세요~^^
네이버 쪽 설정에서 추가적인 정보를 받아올 수 있게 설정하셨는지요?
소셜 로그인 시 사용자가 필수 제공 항목을 동의하지 않고 회원가입을 하게 되면
추가 정보를 받아오지 못할 수도 있습니다.
워드프레스 wp_update_user 함수는
워드프레스 기본 필드를 업데이트할 때 사용됩니다.
user_email, display_name 등을 업데이트할 때 적용할 수 있습니다.
올려주신 코드를 보니 wp_update_user 함수에 email로 적용되어 있습니다.
user_email로 교체해서 확인해보시겠어요?
기본 필드가 아닌 별도로 추가한 필드라면
wp_update_user 함수대신 update_user_meta 함수를 활용해보시겠어요?
update_user_meta 함수에 대한 자세한 내용은
아래의 링크를 참고해보세요.
https://developer.wordpress.org/reference/functions/update_user_meta/
고맙습니다.