안녕하세요 케이보드 + 얼티밋 멤버로 작은 게시판을 운영하고있습니다
작성자 이름이 아이디로 나와서
// Sets the user's display name (always) to first name last name, when it's avail.
add_action ('admin_head','make_display_name_f_name_last_name');
function make_display_name_f_name_last_name(){
$users = get_users(array('fields'=>'all'));
foreach($users as $user){
$user = get_userdata($user->ID);
$display_name = $user->first_name . " " . $user->last_name;
if($display_name!=' ') wp_update_user( array ('ID' => $user->ID, 'display_name' => $display_name) );
else wp_update_user( array ('ID' => $user->ID, 'display_name' => $user->display_login) );
if($user->display_name == '')
wp_update_user( array ('ID' => $user->ID, 'display_name' => $user->display_login) );
}
}
add_filter('kboard_user_display', 'my_kboard_user_display', 10, 5);
function my_kboard_user_display($user_display, $user_id, $user_name, $plugin, $builder){
if($builder->board->id == '1' && $user_id){
$user = get_userdata($user_id);
$user_display = $user->display_name;
}
return $user_display;
}
검색 후 위의 코드를 function.php에 추가하니 작성자가 이름(firstname)으로 바뀌어 나왔는데
새로 가입한 사람들이 글을 쓰거나 댓글을 달면 ID로 작성자명이 바뀌어서 나옵니다.
근데 운영자 아이디로 로그인을 하면 새로 가입한 사람들의 작성자명이 ID로 나오던것이 정상적으로 이름으로 바뀌어 나옵니다.
처음부터 이름(firstname)을 작성자명으로 하는 코드나 위의 코드를 수정하여 이름을 작성자명으로 할 수있을까요?
스니펫으로 해야하는군요
올려주신대로 해보니 잘 적용 됩니다
감사합니다
본문에 코드를 올리실 땐 에디터의 코드 스니펫 삽입 기능을 이용 부탁드립니다.
그렇지 않으면 코드가 이상해져서 에러 나는 코드로 바뀌거나,
질의응답 시 의사소통에 오해와 문제가 생길 수도 있기 때문입니다.
안녕하세요~^^
KBoard 플러그인에서 작성자명은 워드프레스 공개적으로 표시할 이름을 활용하고 있습니다.
워드프레스 관리자 -> 사용자 -> 나의 프로필 페이지에서
공개적으로 표시할 이름 설정이 display_name입니다.
워드프레스는 공개적으로 표시할 이름을 아이디, 닉네임, 이메일 등으로 선택해서 사용할 수 있도록 되어있습니다.
firstname은 직접 추가하신 필드인지요?
공개적으로 표시할 이름이 아닌 firstname으로 적용하시려면
올려주신 코드 중 kboard_user_display 쪽의 $user->display_name 부분을
$user->firstname 또는 $user->first_name으로 교체해서 확인해보시겠어요?
고맙습니다.