[회원정보수정] 닉네임 변경시 "공개적으로 표시할 이름"도 함께 변경 되도록...

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

코스모스팜 회원가가입관리 / KBorad 등으로 사이트를 운영 중입니다.

 

2. 상세 내용

이미 회원가입을 받아서 약 3천명 정도가 가입을 한 상황입니다.

처음에 회원가입 필드를 설정할 때 닉네임 필드를 따로 만들어서 가입을 받았습니다.

회원가입할 때 받은 닉네임이 사용자 명으로 잘 표시가 되고, 게시판에도 작성자명에 잘 들어가있는데

문제는 회원이 닉네임을 스스로 수정할 경우 "닉네임"필드는 바뀌지만 "공개적으로 표시할 이름"은 바뀌지 않아서 

닉네임 변경한 것이 적용되지 않는 현상을 수정하고 싶습니다. 

 

회원이 내 정보 수정으로 닉네임을 변경할 경우 "공개적으로 표시할 이름"도 같이 설정되도록 하는 방법이 없을까요?

 

관련한 질문글 찾아 보았는데 처음 회원가입할 때 메타키를 display_name 으로 하라는 조언 말고는 잘 못찾겠어서

이렇게 문의글을 남깁니다. 

 

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

http://sajagong.com

 

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

 

 

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    한 번에 업데이트를 하고자 하신다면

    get_users 함수와 wp_update_user 함수를 사용하여

    진행할 수 있을 듯 합니다.

     

    아래의 코드를 테마 functions.php 파일에 입력해보시겠어요?

    add_action('init', function(){
    	if(get_current_user_id() == 1){
    		if(isset($_GET['update_display_name']) && $_GET['update_display_name']){
    			foreach(get_users() as $user){
    				$nickname = get_user_meta($user->ID, 'nickname', true);
    				if($nickname){
    					$userdata = array(
    						'ID' => $user->ID,
    						'display_name' => $nickname,
    					);
    					
    					wp_update_user($userdata);
    					exit;
    				}
    			}
    		}
    	}
    });

     

    user_id가 1인 관리자로 로그인 후

    홈페이지 주소?update_display_name=1 로 접속 했을 때 동작하도록 한 코드입니다.

     

    닉네임이 있을 때 display_name을 닉네임으로 변경하는 코드입니다.

    DB를 백업 후 진행하시길 권장드립니다.

    고맙습니다.

  • 안녕하세요. 답변 감사합니다.

    말씀하신 코드를 사용중인 테마의 functions.php에 입력하였는데..

    적용이 되지 않는 것 같습니다.. 어떻게 확인을 할 수 있을까요?

     

    관리자 아이디로 로그인하여 [홈페이지주소+?update_display_name=1]로 접속하였음에도

    변경이 되지 않습니다..

  • 코드를 아래와 같이 변경하여

    test라는 텍스트가 표시되는지 확인해보시겠어요? 

    if(get_current_user_id() == 1){
        echo 'test';
        exit;
    }

    고맙습니다.

  • 안녕하세요. 지금에서야 댓글을 확인했습니다.

    위에 알려주신 코드를 적용하니 test 글씨 잘 나오네요.

    그런데 제일 먼저 주신 코드는 아무런 반응이 없습니다.. 

    어째서 그런 것일까요?? 

     

    그리고.. 특정 user_id로 로그인해야만 업데이트 되도록 하는 방법 외엔 불가능할까요??

    회원분들이 정보 수정을 눌렀을 때 바로 수정 되도록 하는 것이 제일 좋긴 합니다..

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