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 == '2654' && $user_id){ $user = get_userdata($user_id); $user_display = $user->nickname; } return $user_display; }
여기에 있는 글들을 보고, 실제 게시판 ID(2654)를 작성해서 테마 function.php 제일 아래칸에 입력해보았습니다.
그러나 전혀 변경되지 않고 있습니다.
k보드 게시판과 댓글 모두 강제적으로 display_name을 워드프레스 사이트내 "nickname"으로 변경할 수 있는 방법이 없을까요?
하루종일 해봐도 방법을 찾을 수 없어서 문의드립니다
안녕하세요~^^
코드를 올려주실 때는 반드시 코드스니펫으로 올려주세요.
작성하신 코드 대신 아래의 코드를 활용해보시겠어요?
add_filter('kboard_user_display', 'my_kboard_user_display', 10, 5);
function my_kboard_user_display($display, $user_id, $username, $plugin, $builder){
$board = $builder->board;
if($user_id && $board->id == '1'){ // 실제 게시판 id로 적용해주세요.
$nickname = get_user_meta($user_id, 'nickname', true);
}
return $nickname;
}
고맙습니다.
답변 감사합니다.
그런데 위의 코드를 넣으니 작성자 부분이 빈 공간으로 변해버립니다.
저 코드가 작동을 하는거 같은데, 작성자 이름이 안나오니 답답하네요 ㅠ
죄송하지만 한번 더 봐주세요~ 감사합니다.
마지막줄
return $nickname;
이 부분 때문에 작성자가 빈공간으로 나오네요.
이 부분을 $user_display; 이렇게 바꾸면 원상태로 돌아갑니다
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->nickname; } return $user_display; }
이것을 넣었더니 한개의 게시판에서만 작동합니다. (공지사항 게시판으로 관리자만 쓸 수 있는 게시판)
그러나
모든 회원들이 비밀글을 쓰는 기본 게시판이나 ocean-gallery 게시판은 닉네님이 아닌 디스플레이 이름으로 생성이 되고 있습니다.
$builder->board->id == '1'
이부분도 실제 게시판으로 변경하면 작동을 안합니다.
그냥 1로 두었더니 처음 만든 공지사항 게시판만 작동하고 있습니다.