현재 회원 가입 시 nickname을 별도로 입력하지 않으면 nickname이 자동으로 user_name으로 되어 있어요~
이것을 first_name으로 설정되게 바꿀 수 없을까요?
안녕하세요~^^
워드프레스 관련 질문은 워드프레스 카테고리에 올려주시길 부탁드립니다.
해당 게시글은 워드프레스 카테고리로 이동하겠습니다.
공개적으로 표시할 이름을 말씀하시는 듯합니다.
워드프레스 관리자 -> 사용자 -> 나의 프로필 페이지에서
공개적으로 표시할 이름 설정이 display_name입니다.
워드프레스는 공개적으로 표시할 이름을 아이디, 닉네임, 이메일 등으로 선택해서 사용할 수 있도록 되어있습니다.
회원가입 시 first_name을 공개적으로 표시할 이름으로 설정하는 방법은
이전에도 비슷한 문의가 있었습니다.
아래 관련 링크 참고 부탁드립니다.
https://www.cosmosfarm.com/threads/document/24868
고맙습니다.
add_action('user_register', 'my_user_register', 10, 1);
function my_user_register($user_id){
if(isset($_POST['nickname'])) update_user_meta($user_id, 'display_name', $_POST['nickname']);
}
이 코드를 써서 닉네임을 K보드 게시판의 작성자명으로 쓸 수 있게 했습니다.
문제는 고객들이 게시판의 글을 쓸 때 회원 가입 시에 닉네임을 별도로 입력 안 한 고객의 작성자명이 유저네임이 뜬다는 것입니다.
왜냐하면 닉네임을 별도로 입력 안 한 경우 유저네임이 닉네임이 되도록 어디선가 코딩이 되어 있기 때문입니다.
더욱 문제는 유저네임이 이메일주소라는 것입니다.
그래서 작성자명에 이메일주소가 고스란히 뜨게되니 고객들이 식겁하고 글을 지워버리는 일이 벌어지게 됩니다.
그래서 저 위의 코딩 작업이 필요해 진 것입니다.
▶회원 가입 시 닉네임을 별도로 입력하지 않으면 퍼스트네임이 닉네임으로 설정된다
이런 코딩이 말이지요.
이런 사례는 코드엠샵 질문 사례에 없어서 질문드린 것입니다.
좀 살펴봐 주시면 정말 감사하겠습니다. 꾸벅 ^^
프로그램 코드를 올려야 할 경우 반드시 에디터의 코드 스니펫 삽입 기능을 사용해주세요. (가독성이 좋아집니다.)
그렇지 않으면 에러가 나는 코드로 바뀌거나 질의응답 시 의사소통에 문제가 있을 수도 있습니다.
회원가입 시 닉네임을 입력하면 display_name 필드에 닉네임을 저장하고
닉네임을 입력하지 않을 경우 display_name 필드에 first_name을 저장하고 싶다는 말씀이신지요?
아래 코드를 활용해보시겠어요?
add_action('user_register', 'user_register_20201022', 10, 1);
function user_register_20201022($user_id){
$nickname = isset($_POST['nickname']) ? sanitize_text_field($_POST['nickname']) : '';
$first_name = isset($_POST['first_name']) ? sanitize_text_field($_POST['first_name']) : '';
if($nickname){
update_user_meta($user_id, 'display_name', $nickname);
}
else{
update_user_meta($user_id, 'display_name', $first_name);
}
}
저희가 커뮤니티에서 100% 해결을 보장해드리긴 어렵습니다.
코드 수정이 어려우시다면
프로젝트 의뢰에 상세 내용을 올려보세요.
https://www.cosmosfarm.com/project
고맙습니다.