kboard 답글에 작성자 랭크표시 관련

안녕하세요.

스레드를 보고 kboard 작성자에 랭크 로고를 다는것을 완료했습니다.

현재 list, document, comment 모두 완료한 상태인데요..

제가 Q&A 게시판을 운영하는데

답글을 달았을때 RE:~ 처럼 달리잖아요

요소 검사를 해봐도 그냥 list에 일반글 작성자와 같은 이름인데

RE:~ 처럼 답글달린 게시글만 로고가 출력이안됩니다...

아래 사진을 참고해주세요

 

참고로 비회원으로 작성된 경우(랭크가 없는 경우) 디폴트 로고를 출력하는 방법이 있을지 여쭤봅니다..

감사합니다.

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

    KBoard 플러그인에서 답글 쪽 코드는

    FTP로 접속해서 /wp-content/plugins/kboard/skin/사용중인스킨/reply-template.php 파일에 있습니다.

     

    로고는 어떤 식으로 추가하셨는지요?

    스킨의 파일들을 수정하지 않고 kboard_user_display 필터를

    테마 쪽 functions.php 파일에 추가하시면

    KBoard 게시판, 댓글, 답글 등 작성자명에 로고를 추가하실 수 있습니다.

    고맙습니다.

  • <?php
    $rank = mycred_get_users_rank( $content->member_uid );
    if ( is_object( $rank ) ) {
        if ( $rank->has_logo )
            echo $rank->get_image( 'logo' );
    }
    ?>

    위 코드를 작성자 명 출력전에 출력하게 했습니다.

    reply-template.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, $plugin, $builder){
    	if(!function_exists('mycred_get_users_rank')){
    		include myCRED_ADDONS_DIR . 'ranks/includes/mycred-rank-functions.php';
    	}
    
    	$rank = mycred_get_users_rank($user_id);
    	if(is_object($rank)){
    		if($rank->has_logo){
    			return $rank->get_image( 'logo' ) . $user_display;
    		}
    	}
    	return $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(!function_exists('mycred_get_users_rank')){
    		include myCRED_ADDONS_DIR . 'ranks/includes/mycred-rank-functions.php';
    	}
    	
    	if($builder->board->id != '1'){
    		$rank = mycred_get_users_rank($user_id);
    		if(is_object($rank)){
    			if($rank->has_logo){
    				return $rank->get_image( 'logo' ) . $user_display;
    			}
    		}
    	}
    	return $user_display;
    }

    위의 코드에서 $builder->board->id != '1' 부분에는 랭크 로고를 표시하지 않을 게시판 id로 적용해보세요.

    고맙습니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기