게시판 최신글에 작성자 이름 별표 표시

워드프레스 KBorad 최신글 뷰에서 작성자를 표시하고싶은데

강** 이런식으로 성만나오게 가능할까요?

일반 뷰에서도 이렇게 이름이 가려졌으면 좋겠습니다.

도움주시면 정말 감사하겠습니다^^!

 

(www.hiclaim.com)

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

    KBOARD 최신버전과 ASK ONE 스킨을 사용하고 있습니다.
    document.php와 list.php파일에서 $content->member_display를 찾으려고 했는데, 관련 문구가 없습니다.
    $content->member_display 없는데 어떻게 해야 하는지요?

    확인 부탁 드립니다.

    감사합니다.

  • 안녕하세요~^^

    아래의 코드가 있는지 확인해보시겠어요?

    <?php echo apply_filters('kboard_user_display', $content->getUserName(), $content->getUserID(), $content->getUserName(), 'kboard', $boardBuilder)?>

    위의 코드가 있다면

    테마 쪽 functions.php 파일에 kboard_user_display 필터를 적용해서 작성자명을 편집하실 수 있습니다.

     

    사용 중이신 스킨에 따라 아래의 코드가 있을 수도 있습니다.

    <?php echo $content->getUserDisplay()?>

    고맙습니다.

  • 안녕하세요.

    조금 복잡하실 수 있습니다.

     

    먼저 테마의 functions.php 파일에 아래 코드를 추가해주세요.

    워드프레스 관리자 -> 외모 -> 테마 편집기에서 추가하거나 FTP로 접속해서 작업해주시면 됩니다.

    function my_kboard_hide_username($username){
    	$strlen = mb_strlen($username, 'utf-8');
    	
    	if($strlen > 3){
    		$showlen = 2;
    	}
    	else{
    		$showlen = 1;
    	}
    	
    	$username = mb_substr($username, 0, $showlen, 'utf-8') . str_repeat('*', $strlen-$showlen);
    	
    	return $username;
    }

     

    그리고

    KBoard 스킨의 latest.php 파일에 <?php echo $content->member_display?> 이 코드를 추가하면 보통의 작성자 이름을 출력할 수 있습니다.

    <?php echo my_kboard_hide_username($content->member_display)?> 이 코드를 사용하시면 별표(*)가 추가된 작성자 이름을 출력할 수 있게 됩니다.

    고맙습니다.

  • 안녕하세요. 

    이렇개 하면 돼요?
    <?php echo $content->getUserDisplay()?>   ---> <?php echo my_kboard_hide_username($content->getUserDisplay())?>

  • 안녕하세요.

    functions.php 파일 하단에 아래의 코드가 추가했는데 안돼요.

    add_filter('kboard_user_display', 'kboard_user_display_2020_03_13', 10, 5); function kboard_user_display_2020_03_13($user_display, $user_id, $user_name, $plugin, $boardBuilder){ // 이곳에 코드를 추가해보세요. return $user_display; }

     

    혹시 아래의 코드도 추가해야돼요? (저는 default 하고 thumbnail 스킨 쓰고 있습니다.)

    function my_kboard_hide_username($username){
        $strlen = mb_strlen($username, 'utf-8');
        
        if($strlen > 3){
            $showlen = 2;
        }
        else{
            $showlen = 1;
        }
        
        $username = mb_substr($username, 0, $showlen, 'utf-8') . str_repeat('*', $strlen-$showlen);
        
        return $username;
    }

  • 안녕하세요.

    getUserDisplay 메소드에 kboard_user_display 필터가 적용되어 있습니다.

    kboard_user_display 필터를 테마 쪽 functions.php 파일 하단에 추가해보시겠어요?

    고맙습니다.

  • 안녕하세요.

    아래의 코드가 있습니다.
    테마 쪽 functions.php에서 어떻개 수정하면 돼요?

    <?php echo $content->getUserDisplay()?>
  • 안녕하세요.

    kboard_user_display 필터의 사용법은 아래와 같습니다.

    add_filter('kboard_user_display', 'kboard_user_display_2020_03_13', 10, 5);
    function kboard_user_display_2020_03_13($user_display, $user_id, $user_name, $plugin, $boardBuilder){
    	// 이곳에 코드를 추가해보세요.
    	return $user_display;
    }

    테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.

    고맙습니다.

  • 안녕하세요.

    답변 감사합니다.
    아래의 코드가 있습니다. 

    <?php echo apply_filters('kboard_user_display', $content->getUserName(), $content->getUserID(), $content->getUserName(), 'kboard', $boardBuilder)?>

    테마 쪽 functions.php 파일에 kboard_user_display 필터를 어떻게 적용해면 작성자명을 편집할 수 있는지요? 제가 코드를 잘 몰라서요.
    도움 부탁 드리겠습니다.

    감사합니다.

  • 스킨의 document.php, list.php 파일 등 모두 사용방법은 똑같습니다.

     

    $content->member_display 이 코드를 찾아서

    my_kboard_hide_username($content->member_display) 이렇게 바꿔주시면 됩니다~^^

  • 감사합니다^^!

    그런데 일반 게시판뷰로 이동했을때도 이름에 *로 나오게 하려면 어떻게 하나요?

  • 좋은 정보 감사합니다!

  • 안녕하세요.

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

    그렇지 않으면 이상한 코드로 바뀌거나 질의응답 시 의사소통에 문제가 있을 수도 있습니다.

    kboard_user_display 필터에 my_kboard_hide_username 함수의 내용을 적용해주시면 됩니다.

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

    add_filter('kboard_user_display', 'kboard_user_display_2020_03_26', 10, 5);
    function kboard_user_display_2020_03_26($user_display, $user_id, $user_name, $plugin, $builder){
    	$board = $builder->board;
    	if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
    		// 이곳에 코드를 추가해보세요.
    		$strlen = mb_strlen($user_display, 'utf-8');
    		
    		if($strlen > 3){
    			$showlen = 2;
    		}
    		else{
    			$showlen = 1;
    		}
    		
    		$user_display = mb_substr($user_display, 0, $showlen, 'utf-8') . str_repeat('*', $strlen-$showlen);
    	}
    	return $user_display;
    }

    고맙습니다.

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