Kborad 게시판에 작성자 변경 방법 문의

안녕하세요.
KBOARD 게시판에 ask one 스킨을 사용하고 있습니다.

KBOARD 게시판에 '작성자'은 ID로 표시가 되고 있습니다.

'작성자'가 '성'과'이름'으로 표시 되게 하고 싶습니다. ( 예: " 홍길동 " )

확인 후 답변 부탁 드립니다.

 

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요.

    커뮤니티에 남겨진 질의응답이 1만건이 넘게 있습니다.

    많은 문제들을 검색해서 찾아보실 수 있습니다.

    질문 전 관련 질의응답이 있는지 확인 부탁드립니다.

    검색하지 않고 올린 글은 답변이 달리지 않거나 삭제될 수 있습니다.

     

    아래 링크들을 참고하셔서 코드를 수정해보시겠어요?

    https://www.cosmosfarm.com/threads/document/32120
    https://www.cosmosfarm.com/threads/document/26219
    https://www.cosmosfarm.com/threads/document/17516

    고맙습니다.

  • 안녕하세요.

    커뮤니티에서 간단한 코드는 만들어 드릴 수는 있지만

    일일이 모든 코드를 저희가 만들어 드리는 건 현실적으로 불가능합니다.

    또한 다른 사용자 분들도 유용하게 쓰일 코드라고 생각이 된다면

    블로그에도 별도로 글을 작성해서 올리고 있습니다.

    작성자 마스킹의 경우, 저희 커뮤니티에 검색해보시면

    참고해보실 만한 자료가 꽤 있습니다.

    검색해도 나오지 않을 경우 저희 쪽에서 검색해서 해당 링크를 안내해드리거나

    간단한 코드로 해결이 될 거라고 판단이 된다면 새로 코드를 만들어드리고는 있습니다.

    커뮤니티 관리에 많은 시간이 소요되어 제품 개발이 늦어지고 있기 때문에

    규칙을 강화할 수밖에 없음을 양해 부탁드립니다.

    고맙습니다.

  • 안녕하세요.

    아래의 코드를 활용해보시겠어요?

    add_filter('kboard_user_display', 'my_kboard_user_display', 10, 5);
    function my_kboard_user_display($user_display, $user_id, $user_name, $plugin, $builder){
    	$board = $builder->board;
    	if($user_id && $board->id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$user = get_userdata($user_id);
    		$user_display = $user->last_name.$user->first_name;
    		
    		$strlen = mb_strlen($user_display, 'utf-8');
    		
    		if($strlen > 3){
    			$header_showlen = 2;
    			$footer_showlen = $header_showlen+2;
    		}
    		else{
    			$header_showlen = 1;
    			$footer_showlen = $header_showlen+1;
    		}
    		
    		$user_display = mb_substr($user_display, 0, $header_showlen, 'utf-8') . str_repeat('O', $header_showlen) . mb_substr($user_display, $footer_showlen, $strlen, 'utf-8');
    	}
    	return $user_display;
    }

     

    저희가 커뮤니티에서 모든 코드를 일일이 만들어 드리는 건

    현실적으로 어려움이 있습니다.

    직접 코드 수정하시는 게 어려우시다면

    다음부터는 유료 기술지원 요청을 부탁드립니다.

    고맙습니다.

  • 이전 댓글에 안내해드린 링크를 참고해서 코드를 작성해봤습니다.

    last_name 필드와 first_name 필드를 게시글 작성자명으로 표시되게 하시려면

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에

    아래의 코드를 추가해보세요.

    add_filter('kboard_user_display', 'my_kboard_user_display', 10, 5);
    function my_kboard_user_display($user_display, $user_id, $user_name, $plugin, $builder){
    	$board = $builder->board;
    	if($user_id && $board->id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$user = get_userdata($user_id);
    		$user_display = $user->last_name.$user->first_name;
    	}
    	return $user_display;
    }

    고맙습니다.

  • 안녕하세요.

    코드를 올려주실 땐 에디터의 코드 스니펫 삽입 기능을 이용해주세요.

    그렇지 않으면 코드가 이상해져서 에러 나는 코드로 바뀌거나,

    질의응답 시 의사소통에 오해와 문제가 생길 수도 있기 때문입니다.

     

    $user_display 쪽에 띄어쓰기를 적용하시려면 올려주신 코드 중

    아래의 코드를

    $user->last_name.$user->first_name

    아래의 코드로 교체해서 확인해보시겠어요?

    "{$user->last_name} {$user->first_name}"

    고맙습니다.

  • 안녕하세요.

    저의 경우에는 위에서 알려 주신 코드(스레드봇 (19280 Point)ㆍ2019.11.04 10:55 )로 작성자명을 편집해서 사용중이라, 
    스레드봇 (19280 Point)ㆍ2020.03.11 11:21 )에서 인펌 주신 링크의 안내가 적용이 안되는 것 같습니다.

    확인 부탁 드리겠습니다.

    감사합니다.

  • 안녕하세요.

    어떤 코드를 적용하셨는지요?

    아래 링크의 게시글에 원하시는 답변이 있는지도 확인해보시겠어요?

    https://www.cosmosfarm.com/search?q=%EC%9E%91%EC%84%B1%EC%9E%90+%EB%A7%88%EC%8A%A4%ED%82%B9

    고맙습니다.

  • 안녕하세요.

    답변 감사합니다.
    관련 링크도 감사합니다. 문의 드린 내용외에도 유용한 내용이 있습니다.

    게시판 작성자에 성과 이름이 표기되기위해, 아래의 코드를 적용중입니다.
    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에 적용했습니다.
    어떻게 하면, 작성자가 "홍 *동"으로 표기 될 수 있는지요?
    ( 참고로 게시판 최신 버전과 ASK-ONE 스킨을 사용중입니다. )

    도움 부탁 드립니다.
    감사합니다.

    add_filter('kboard_user_display', 'my_kboard_user_display', 10, 5);
    function my_kboard_user_display($user_display, $user_id, $user_name, $plugin, $builder){
    	$board = $builder->board;
    	if($user_id && $board->id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$user = get_userdata($user_id);
    		$user_display = $user->last_name.$user->first_name;
    	}
    	return $user_display;
    }

     

  • 안녕하세요~^^

    KBoard 플러그인에서 작성자명은 워드프레스 공개적으로 표시할 이름을 활용하고 있습니다.

    워드프레스 관리자 -> 사용자 -> 나의 프로필 페이지에서

    공개적으로 표시할 이름 설정이 display_name입니다.

    워드프레스는 공개적으로 표시할 이름을 아이디, 닉네임, 이메일 등으로 선택해서 사용할 수 있도록 되어있습니다.

     

    kboard_user_display 필터를 활용하시면 KBoard 작성자명을 편집하실 수 있습니다.

    아래 링크의 답변 중 1번을 참고해보시겠어요?

    https://www.cosmosfarm.com/threads/document/37664

    고맙습니다.

  • 안녕하세요.

    답변 감사합니다.

    문의 드리기전에 관련글들을 찾아 보고, 스레드봇님께서 알려 주신 링크들을 다시 참조하며, 문의 드리고는 있는데, 해결방법을 찾지 못하고 있는것 같습니다.

    우선 제가 현재 적용하고 있는 코드가 스레드봇님께서 다른 회원분에게 답변 주신내용하고 중복이 되는 것인지 확인 부탁 드리겠습니다.


    * 현재 제가 적용하고 있는 코드: 작성자를 성과 이름으로 표기 하기 위해 * ( 아래 코드의 결과는 " 홍길동 " 으로 출력 됩니다. )

    add_filter('kboard_user_display', 'my_kboard_user_display', 10, 5);
    function my_kboard_user_display($user_display, $user_id, $user_name, $plugin, $builder){
     $board = $builder->board;
     if($user_id && $board->id == '1'){ // 실제 게시판 id로 적용해주세요.
      $user = get_userdata($user_id);
      $user_display = $user->last_name.$user->first_name;
     }
     return $user_display;
    }

     

     

    * 아래 코드는 스레드봇님께서 다른 회원분에게 답변 주신 코드 입니다.  ( 관련 링크: https://www.cosmosfarm.com/threads/document/17516  ) *

    스레드봇 (19321 Point)ㆍ2019.02.25 09:25

    안녕하세요~^^

    최신 버전의 KBoard 플러그인을 사용 중이시라면

    스킨 파일을 직접 수정하지 마시고 테마 쪽 functions.php 파일에 코드를 추가해보시겠어요?

    워드프레스 관리자 -> 외모(테마 디자인) -> 테마 편집기 페이지에서 functions.php 파일 하단에

    아래의 코드를 추가해보세요.

    add_filter('kboard_user_display', 'my_kboard_user_display', 10, 5);
    function my_kboard_user_display($user_display, $user_id, $user_name, $plugins, $boardBuilder){
    	$board = $boardBuilder->board;
    	if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$userdata = get_userdata($user_id);
    		if(!in_array('administrator', $userdata->roles)){
    			$strlen = mb_strlen($user_name, 'utf-8');
    			
    			if($strlen > 3){
    				$header_showlen = 2;
    				$footer_showlen = $header_showlen+2;
    			}
    			else{
    				$header_showlen = 1;
    				$footer_showlen = $header_showlen+1;
    			}
    			
    			$user_display = mb_substr($user_name, 0, $header_showlen, 'utf-8') . str_repeat('O', $header_showlen) . mb_substr($user_name, $footer_showlen, $strlen, 'utf-8');
    		}
    	}
    
    	return $user_display;
    }

    위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해보세요.

     

    워드프레스 관리자 페이지에서 테마 쪽 functions.php 파일을 수정할 수 없다면

    FTP로 접속해서 /wp-content/themes/사용중인테마/functions.php 파일에 직접 코드를 추가해보세요.

    고맙습니다.

     

    제가 현재 적용하는 코드를 지우고, 위에서 스레드봇님이 다른회원분에게 답변주신 코드만 적용하면, 유저네임이 출력됩니다. 만약 username이  skyship 이라면 skOOip으로 표기가 됩니다.
    작성자의 성과이름이 " 홍*동 " 으로 출력 되었으면 합니다.

    제가 현재 적용하고 있는코드와 스레드봇님이 다른회원분에게 답변주신 코드를 조합해야 할 것같은데, 제가 코드 작성 수준이 안되어 미안하면서도 자꾸 질문을 드리고 있습니다.
    제가 현재 적용하고 있는 코드가 스레드봇님께서 전에 알려 주신 코드인데, 워드프레스 관리자 -> 사용자 -> 나의 프로필 페이지에서 "공개적으로 표시할 이름"에 상관없이 작성자의 성과 이름으로 표현이 되는 코드로 알고 있습니다. 그래서, 코스모스팜 스레드에서 관련글을 찾아보고 적용해도 같은 결과가 안나오나 생각이 들기도 합니다.

    죄송하지만, 도움 부탁 드립니다.
    감사합니다.

     

     

     

     

  • 안녕하세요.

    답변 감사합니다.
    커뮤니티에서 많은 도움을 받고 있어서, 도움이 많이 되고 감사합니다.

    저같은 경우에는 코스모스팜 무제한 라이센스를 연간 구매하여 사용하고 있습니다.
    여기에 테마포레스트와 같이 기술지원이 포함 된 것으로 알고 있었습니다.
    어떤경우까지 무료 지원을 받을수 있고, 어떤 범위는 유료지원을 해야 하는지 잘 모르겠습니다.
    인펌 부탁 드립니다.

    감사합니다.

     

  • 안녕하세요.

    PHP 내장 함수인 mb_strlen, mb_substr, str_repeat 함수 등을 사용하시면 가능합니다.

    아래 링크의 코드를 참고하셔서 추가하신 코드를 수정해보시겠어요?

    https://www.cosmosfarm.com/threads/document/14441

    고맙습니다.

  • 안녕하세요.

    아래 상담하여 주신 방법으로 게시판의 작성자에  성과 이름이 표기되게 사용하고 있습니다.
    이름에서 중간글자를 별표 ( * )로 표기 하기를 원합니다.
    예를 들면, 홍 *동 처럼 표기 되기를 원합니다.
    중간글자가 별표로 표기 되는 방법 알려 주시면 감사하겠습니다.

    도움 부탁 드립니다.
    감사합니다.

     

  • 안녕하세요.

    답변 감사합니다.
    지난 번 문의 드린 질문(링크해주신)을 살펴 보았습니다.
    아무리 해도, 성과 이름이 같이 표기 되질 않아서 질문 드렸습니다.
    지난번 문의 드린것은 이름만 표기 되도록 문의 드려서, 이름만 작성자에 표기 되도록 답변 주셨습니다.
    '성과이름'이 같이 표기 되도록 하려면 어떻게 코드를 수정해야 하는지요? ( 예: 홍길동 )

    확인 부탁 드립니다.
    감사합니다.

  • 성과 이름은 어느 필드를 활용하고 계신지요?

    회원가입 시 성과 이름은 입력받고 있는지요?

    회원가입은 어떤 플러그인으로 하고 있는지요?

    이전 댓글에 안내해드린 링크는 회원가입 필드 중 first_name 필드에 값이 있을 때 표시되는 코드입니다.

    회원가입 필드에 맞게 코드를 수정해보시겠어요?

    고맙습니다.

  • 안녕하세요.

    답변 감사드립니다.
    회원가입은 코스모스팜 회원관리 플러그인을 사용하고 있습니다. 몇주전에 구매 하였습니다.
    현재, 회원가입시 성과 이름을 입력 받고 있습니다. ( 지난번 문의 드릴때는 이름만 받았습니다.)
    last_name과 first_name 이 같이 표기 되고 싶습니다.

    확인 부탁 드리겠습니다.
    감사합니다.

  • 안녕하세요.
    답변 감사합니다.

  • 안녕하세요.

    다시 문의 사항이 있어서, 문의 드립니다.

    "홍 길동" 처럼 성과 이름에 띄어쓰기를 하고 싶습니다.
    쉬운것 같으면서도 어렵습니다. 아래 알려 주신 코드에서 어떻게 수정을 해야 하는지 도움 부탁 드립니다.

    **********************************
    add_filter('kboard_user_display', 'my_kboard_user_display', 10, 5);
    function my_kboard_user_display($user_display, $user_id, $user_name, $plugin, $builder){
    $board = $builder->board;
    if($user_id && $board->id == '1'){ // 실제 게시판 id로 적용해주세요.
    $user = get_userdata($user_id);
    $user_display = $user->last_name.$user->first_name;
    }
    return $user_display;
    }

    *********************************

    도움 부탁 드립니다.
    감사합니다.

  • 안녕하세요.

    답변 감사합니다.

    네. 다음부터는 코드 스니펫 삽입 기능으로 코드 올리도록 하겠습니다.

    알려주신 코드를 적용하니, 잘 출력이 됩니다.
    그런데, " 홍    길동"  처럼, 홍과 길동 사이를 좀더 띄우려고 합니다.
    알려주신 코드를 적용한 간격보다 좀더 띄우려고 합니다.

    도움 부탁 드립니다.
    감사합니다. 

  • 안녕하세요.

    last_name 필드와 first_name 필드의 간격을 조절하시려면

    이전 댓글에 안내해드린 아래의 코드를

    "{$user->last_name} {$user->first_name}"

    아래의 코드로 교체해보시겠어요?

    "{$user->last_name}     {$user->first_name}"

    웹 사이트에서   기호는 공백을 추가합니다.

    적절히 추가하시거나 지워서 확인해보시겠어요?

    고맙습니다.

  • 안녕하세요.

    답변 감사합니다.
    좋은 하루 되세요~

  • 안녕하세요.

    답변 감사합니다.
    커뮤니티에서 많은 도움 받고 있는점 다시 한번 감사 드립니다.

    제가 이글에서 문의 드린 내용은 작성자를 성이름으로 표기 하는 것과 별표 처리인데요. 내용이 많이 길어진 것 같습니다.
    이 기능은 많은 분들이 웹싸이트를 운영하면, 필요한 기능이라는 생각이 듭니다.
    이 기능이 플러그인에 탑재가 되어 출시가 된다면, 저희같은 사용자 입장에서는 코스모스팜 제품에 대해 더욱 편리함을 갖게 될것 같습니다.
    또한, 코스모스팜 제품들이 더 많은 홈페이지에 보급될 거라 생각이 듭니다.
    코스모스팜 제품을 사용하는 사용자분들이 다양하다보니, 필요한 사항이 다르다는 점도 이해 부탁드립니다.

    다시 한번 많은 분들에게 도움을 주시는 점 감사 드립니다.

    좋은 하루 되세요.

     

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요