작성자 이름 성만나오게 하고싶습니다

안녕하세요
케이보드 디폴트 게시판을 여러 페이지에서 사용하고 있는데
특정 한 게시판만 작성자 이름을 박ㅇㅇ이런식으로 성만 보이게 하고싶습니다ㅜㅜ

그리고 관리자 모드로 들어갔을때는 이름 전체를 볼 수있는 방법이 있을까요ㅜ 도와주세용ㅜㅜ
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

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

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

    공개적으로 표시할 이름을 게시판 목록이나 본문 페이지에 표시하고 있습니다.

     

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 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' && !$board->isAdmin()){ // 실제 게시판 id로 적용해주세요.
    		$strlen = mb_strlen($user_name, 'utf-8');
    		
    		if($strlen > 3){
    			$showlen = 2;
    		}
    		else{
    			$showlen = 1;
    		}
    
    		$user_display = mb_substr($user_name, 0, $showlen, 'utf-8') . str_repeat('ㅇ', $strlen-$showlen);
    	}
    
    	return $user_display;
    }

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

    위의 코드에서 str_repeat('ㅇ', $strlen-$showlen) 부분을 str_repeat('*', $strlen-$showlen) 이런 식으로 교체하시면

    별표로 표시하실 수 있습니다.

    고맙습니다.

  • 음..홈페이지 관리자의 이름ㅇㅣ 노출되는 부분을 말씀드린것이 아니라

    질문과 답변페이지에 있는 게시판에
    사용자가 자유롭게 질문을 올리는 방식의 페이지인데
    여러 사용자가 자신의 이름을 적었을때
    한글자만 보이게 하고 싶은것입니다ㅜ

    예를들어
    질문과답변 페이지에 여러 사용자가 질문을 올렸을 경우 비로그인사용자한테는 이름ㅇㅣ 한글자만 보이고 관리자에겐 전체 이름ㅇㅣ 다 보이는 경우인거죠~~^^ㅎㅎ
  • 이전 댓글에 안내해드린 코드를 적용한다고 해서 관리자의 이름이 노출되는 것은 아닙니다.

    KBoard 플러그인 게시글 목록 페이지나 본문 페이지에 표시되는 작성자명은

    kboard_user_display 필터로 편집 가능합니다.

     

    이전 댓글에 안내해드린 코드는

    관리자일 때만 모두 표시하고 관리자가 아닐 땐 성만 표시하는 코드입니다.

    코드를 적용하신 후 확인해보시겠어요?

    고맙습니다.

  • 우와~ 됐습니다!! 정말 감사합니다 ♥

  • 질문이 또 생겼습니다. ㅠㅠ

    다름이 아니라, 고객의 질문에 관리자가 답변을 달았을 때 관리자 이름은 **처리가 안되고 전체 다 보이게할 수 있는 방법이 있나요 ㅠㅠ?

    감사합니다

  • 안녕하세요.

    관리자의 작성자명은 그대로 표시하시려면

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

    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;
    	$userdata = get_userdata($user_id);
    	
    	if($board->id == '1' && !$board->isAdmin() && !in_array('administrator', $userdata->roles)){ // 실제 게시판 id로 적용해주세요.
    		$strlen = mb_strlen($user_name, 'utf-8');
    		
    		if($strlen > 3){
    			$showlen = 2;
    		}
    		else{
    			$showlen = 1;
    		}
    		
    		$user_display = mb_substr($user_name, 0, $showlen, 'utf-8') . str_repeat('ㅇ', $strlen-$showlen);
    	}
    	
    	return $user_display;
    }

    고맙습니다.

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