안녕하세요.
혹시 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?>
적절히 응용해보셔야 할 듯합니다.
고맙습니다.
아 그렇군요. 감사합니다.^^