1. 정확한 제품 또는 플러그인 이름
KBoard
2. 상세 내용
KBoard 커스텀 스킨(card-item.php)에서 댓글 수를 출력하려고 합니다.
현재 확인한 사항:
wp_kboard_comments 테이블 존재
content_uid 컬럼 존재
댓글 데이터 정상 저장 확인
content_uid 값도 게시글 uid와 일치 확인
content_uid: 5 댓글 존재
하지만 아래 코드로 댓글 수를 조회하면 항상 0이 출력됩니다.
$comments = (int) $wpdb->get_var($wpdb->prepare(
"SELECT COUNT(*) FROM `{$wpdb->prefix}kboard_comments`
WHERE `content_uid` = %d",
$content->uid
));
질문:
KBoard 목록 스킨에서 공식적으로 댓글 수를 가져오는 권장 방법이 있는지
리스트 스킨(card-item.php)에서 사용할 수 있는 댓글 수 관련 기본 변수나 메서드가 있는지
댓글 카운트가 별도 캐시/메타 테이블로 관리되는 구조인지 궁금합니다.
WordPress + KBoard 최신 버전, 코스모스팜 무제한 요금제를 사용하고 있습니다.
3. 확인 가능한 상세 페이지 주소
4. 수정한 코드 내역 (있다면)
AI에 의해 자동 생성된 답변이에요 😀
KBoard 게시판 목록 스킨에서 댓글 수를 출력하는 가장 권장되는 방법은 KBoard의 내장 메서드를 사용하는 것입니다.
직접 SQL 쿼리를 작성하여 호출할 경우 데이터베이스 접두사나 테이블 구조 변경 등에 따라 오류가 발생할 수 있으므로, 아래의 공식 메서드 사용을 권장합니다.
1. 권장 방법 (메서드 활용)
리스트 스킨 파일(예: card-item.php 또는 list.php) 내에서 게시글 객체($content)의 메서드를 직접 호출합니다.
- 코드: getCommentsCount()?>
2. 특징 및 구조
- KBoard는 게시글 목록을 불러올 때 각 게시글에 대한 댓글 수를 효율적으로 가져올 수 있도록 설계되어 있습니다.
- 별도의 캐시 테이블을 직접 관리하기보다는, 객체 내부 메서드인 getCommentsCount()를 통해 해당 게시글(uid)에 연결된 댓글 숫자를 반환합니다.
- 작성하신 직접 쿼리 방식($wpdb->get_var)이 0을 반환한다면, $content->uid 값이 해당 시점에 정확히 전달되고 있는지 또는 테이블 접두사({$wpdb->prefix})가 실제 DB와 일치하는지 확인이 필요할 수 있으나, 가급적 내장 메서드를 사용하는 것이 가장 안전합니다.
3. 적용 위치 예시
제목 옆이나 카드 레이아웃의 특정 영역에 아래와 같이 삽입하여 사용하세요.
- 예시: getCommentsCount()?>
이 방법을 사용하면 복잡한 SQL 문 없이도 최신 버전의 KBoard에서 정상적으로 댓글 수를 출력할 수 있습니다.
↓ 아래 버튼을 눌러서 피드백해주세요.