리스트에서 관리자가 댓글을 단 게시글은 댓글 수 옆에 다른 텍스트나 이미지 표시

안녕하세요.

혹시 KBoard 게시판 list에 관리자가 댓글을 단 게시글은 댓글 수 옆에 다른 text나 이미지를 표시하려면 어떻게 해야할까요?

다른 회원들도 댓글을 달았는데 관리자가 달았는지 리스트를 쭉 보고 확인을 빨리하고 싶어서 그러는데요.

좋은 방법이 없을까요?

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    코드를 만들어봤습니다.

    해당 코드를 테마의 functions.php 파일에 추가해주세요.

     

    아래 코드를 추가하면 관리자가 작성한 댓글 개수를 추가할 수 있습니다.

    add_action('kboard_comments_insert', 'my_admin_comment_count_insert', 10, 2);
    function my_admin_comment_count_insert($comment_uid, $content_uid){
    	$content = new KBContent();
    	$content->initWithUID($content_uid);
    	$board = $content->getBoard();
    	if($board->isAdmin()){
    		$content->option->admin_comment_count = intval($content->option->admin_comment_count) + 1;
    	}
    }
    
    add_action('kboard_comments_delete', 'my_admin_comment_count_delete', 10, 2);
    function my_admin_comment_count_delete($comment_uid, $content_uid){
    	$content = new KBContent();
    	$content->initWithUID($content_uid);
    	$board = $content->getBoard();
    	if($board->isAdmin()){
    		$count = intval($content->option->admin_comment_count) - 1;
    		if($count >= 1){
    			$content->option->admin_comment_count = $count;
    		}
    		else{
    			$content->option->admin_comment_count = 0;
    		}
    	}
    }

     

    아래 코드를 추가하면 관리자가 작성한 답글 개수를 추가할 수 있습니다.

    add_action('kboard_document_insert', 'my_admin_reply_count_insert', 10, 2);
    function my_admin_reply_count_insert($content_uid, $board_id){
    	$board = new KBoard($board_id);
    	if($board->isAdmin()){
    		$content = new KBContent();
    		$content->initWithUID($content_uid);
    		$parent = $content->getTopContent();
    		if($content->uid != $parent->uid){
    			$parent->option->admin_reply_count = intval($parent->option->admin_reply_count) + 1;
    		}
    	}
    }
    
    add_action('kboard_document_delete', 'my_admin_reply_count_delete', 10, 2);
    function my_admin_reply_count_delete($content_uid, $board_id){
    	$board = new KBoard($board_id);
    	if($board->isAdmin()){
    		$content = new KBContent();
    		$content->initWithUID($content_uid);
    		if($content->member_uid == get_current_user_id()){
    			$parent = $content->getTopContent();
    			if($content->uid != $parent->uid){
    				$count = intval($parent->option->admin_reply_count) - 1;
    				if($count >= 1){
    					$parent->option->admin_reply_count = $count;
    				}
    				else{
    					$parent->option->admin_reply_count = 0;
    				}
    			}
    		}
    	}
    }

     

    KBoard 스킨의 list.php 파일 또는 document.php 파일에서 아래 코드를 추가해서 개수를 출력할 수 있습니다.

    관리자가 작성한 댓글 개수 출력
    <?php echo intval($content->option->admin_comment_count)?>

    관리자가 작성한 답글 개수 출력
    <?php echo intval($content->option->admin_reply_count)?>

     

    아래 코드처럼 응용할 수 있습니다.

    <?php if($content->option->admin_comment_count):?>
    관리자가 댓글을 달았음
    <?php endif?>

    <?php echo $content->title?> 이런 제목 출력 옆에다가 코드를 추가해서 테스트 해보세요~

     

    고맙습니다.

  • 답변 감사합니다. 말씀하신대로 functions.php와 list.php에 넣어봤는데요. 카운팅이 모두 0으로 뜨네요?

  • 그리고 0일 경우에 그냥 안 보이게 할 수도 있나요?

  • 기존에 등록되어 있는건 카운팅되지 않습니다.

    신규로 작성하신것만 카운팅 됩니다~^^

     

    아래 코드를 사용하시면 1이상의 카운팅이 있을 경우에만 출력됩니다.

    <?php if($content->option->admin_comment_count):?>
    	<?php echo intval($content->option->admin_comment_count)?>
    <?php endif?>

    적절히 응용해보셔야 할 듯합니다.

    고맙습니다.

  • 아 그렇군요. 감사합니다.^^

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