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 == '2' && $user_id){
$user = get_userdata($user_id);
$user_display = $user->first_name;
}
return $user_display;
}
테마의 function.php에 위와 같은 필터를 추가해서 작성자명을 first_name으로 출력되게 하였습니다.
게시글 리스트에서 first_name으로 잘 출력되긴 하는데
검색을 [작성자명]으로 검색할 시 first_name으로 검색이 안되고,
display_name 값으로 검색을 하면 검색이 되요..
매번 코스모스팜 커뮤니티에서 답을 찾았는데
아무리 검색하고 찾아봐도 이런 내용은 없어서 질문드립니다..ㅠㅠ
first_name을 작성자명으로 검색되게 하려면 어떻게 해야하나요?
안녕하세요~^^
KBoard 플러그인에서 작성자명은 워드프레스 공개적으로 표시할 이름을 활용하고 있습니다.
워드프레스 관리자 -> 사용자 -> 나의 프로필 페이지에서
공개적으로 표시할 이름 설정이 display_name입니다.
워드프레스는 공개적으로 표시할 이름을 아이디, 닉네임, 이메일 등으로 선택해서 사용할 수 있도록 되어있습니다.
올려주신 코드는 KBoard 플러그인에서 작성자명을 first_name으로 바꿔서 표시만 하기 때문에
실제 검색은 display_name으로 해야 정상적으로 표시됩니다.
게시글 작성 시 first_name을 display_name으로 설정하시려면
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
function my_kboard_document_insert($uid, $board_id, $content, $board){
if(is_user_logged_in() && $board->id == '1'){ // 실제 게시판 id로 적용해주세요.
$user_id = get_current_user_id();
$user_info = get_userdata($user_id);
if($user_info->first_name){
$content->member_display = $user_info->first_name;
$content->updateContent();
}
}
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해보세요.
코스모스팜 회원관리 플러그인을 사용 중이라면
회원가입 시 display_name에 first_name을 설정하실 수 있습니다.
아래 링크를 참고해보시겠어요?
https://www.cosmosfarm.com/threads/document/20842
고맙습니다.
덕분에 잘 처리했습니다.
이전에 입력된 건에 대해서는 검색이 안되네요..ㅠㅠ
만족해야할 것 같습니다.
시간내어 답변해주셔서 정말 감사합니다..! :)