안녕하세요.
회원관리 플러그인 관련, 문의 드립니다.
회원정보에서 '아바타 변경' 밑부분에 'username' 표시가 됩니다.
username대신 '이름'으로 표시되길 원합니다.
실제 이름이 표시 되는 방법 알려 주시면 감사하겠습니다.
안녕하세요~^^
말씀하신 회원정보 페이지는
코스모스팜 회원관리 플러그인의 회원정보 페이지를 말씀하시는 건지요?
어떤 플러그인을 사용하고 있는지 구체적으로 남겨주시면 좋은 답변을 받으실 확률이 높아집니다.
말씀하신 코스모스팜 회원관리 플러그인 회원정보 페이지에서 표시되는
username은 워드프레스 공개적으로 표시할 이름을 활용하고 있습니다.
워드프레스 관리자 -> 사용자 -> 나의 프로필 페이지에서
공개적으로 표시할 이름 설정이 display_name입니다.
워드프레스는 공개적으로 표시할 이름을 아이디, 닉네임, 이메일 등으로 선택해서 사용할 수 있도록 되어있습니다.
다른 필드로 표시하시려면,
워드프레스 관리자 -> 외모(테마 디자인) -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보세요.
add_filter('wpmem_member_links_args', 'my_wpmem_member_links_args', 999, 1);
function my_wpmem_member_links_args($args){
$current_user = wp_get_current_user();
$args['wrapper_before'] = '<div class="cosmosfarm-members-form">';
$args['wrapper_before'] .= '<div class="profile-header"><form id="cosmosfarm_members_avatar_form" method="post" enctype="multipart/form-data">';
$args['wrapper_before'] .= wp_nonce_field('cosmosfarm_members_avatar', 'cosmosfarm_members_avatar_nonce');
$args['wrapper_before'] .= '';
$args['wrapper_before'] .= '<div class="avatar-img"><label for="cosmosfarm_members_avatar_file" title="'.__('Change Avatar', 'cosmosfarm-members').'">'.get_avatar(get_current_user_id(), '150').'<p class="change-avatar-message">'.__('Change Avatar', 'cosmosfarm-members').'</p><input type="file" name="cosmosfarm_members_avatar_file" id="cosmosfarm_members_avatar_file" multiple="false" accept="image/*" onchange="cosmosfarm_members_avatar_form_submit(this)"></label></div>';
$args['wrapper_before'] .= '<div class="display-name">'.$current_user->메타키.'</div>';
$args['wrapper_before'] .= '</form></div>';
$args['wrapper_before'] .= '<ul class="members-link">';
return $args;
}
위의 코드에서 메타키 부분은 실제 표시하려는 필드의 메타키로 교체해보시겠어요?
워드프레스 관리자 -> 설정 -> WP-Members -> 필드 탭에서 필드의 메타키를 확인하실 수 있습니다.
고맙습니다.
알려주신 코드를 적용하니, 해결 되었습니다.
감사합니다.
워드프레스 관리자 -> 사용자 -> 나의 프로필 페이지에 가서 확인 하니,
'아이디'와 '이름' 만 선택할 수 있게 보입니다.
'이메일'은 보이지 않는데, '이메일'이 보이게 추가 할 수 있는 방법이 있는지요?
감사합니다.
안녕하세요.
워드프레스 공개적으로 표시할 이름 설정은 좀 더 구체적으로 설명을 드리자면,
닉네임, 사용자명(아이디), 성(first_name), 이름(last_name) 필드로 선택하실 수 있습니다.
코스모스팜 회원관리 플러그인 설정 중 이메일로 로그인하기 기능을 사용하시면
사용자명(아이디)에 이메일이 적용되기 때문에 공개적으로 표시할 이름으로 활용하실 수 있습니다.
이메일로 로그인하기 기능을 사용하지 않는다면,
회원가입 시 first_name 필드 또는 last_name 필드에 이메일이 입력되도록 해보시겠어요?
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가하시면
회원가입 시 입력한 이메일을 first_name 필드에도 적용되며
공개적으로 표시할 이름에도 표시할 수 있습니다.
add_action('user_register', 'my_user_register', 10, 1);
function my_user_register($user_id){
if($user_id){
$user_info = get_userdata($user_id);
wp_update_user(array('ID' => $user_id, 'first_name' =>$user_info->user_email));
}
}
last_name 필드에 적용하시려면 위의 코드 중 first_name 부분을 last_name로 교체해보세요.
고맙습니다.
답변 감사합니다.