BOARD

팁·활용

그누보드5 기간별 새글 개수(댓글 제외) 집계 함수 구현

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 1회 작성일 26-10-12 15:27

본문

그누보드5 기간별 새글 개수(댓글 제외) 집계 함수 구현

그누보드5에서 댓글을 제외한 순수 게시글만 특정 기간 동안 얼마나 등록되었는지 확인하고, 이를 사이트 메인이나 상단에 출력하는 방법을 안내합니다.

그누보드5 댓글 제외 새글 개수 집계 방법

그누보드5에서 댓글을 제외하고 특정 기간 동안 등록된 원글의 개수를 집계하려면 g5_board_new 테이블을 활용하여 사용자 정의 함수를 생성해야 합니다. 이 함수는 사이트 전역에서 호출할 수 있도록 extend/user.config.php 파일에 등록합니다.

1. 사용자 정의 함수 추가

extend/user.config.php 파일을 열고 아래 코드를 추가합니다. 이 함수는 wr_id와 wr_parent가 일치하는 경우(원글)만 카운트합니다.

function new_write_count($days=1) {
 global $g5;
 $tmp_datetime = date("Y-m-d H:i:s", G5_SERVER_TIME - (86400 * $days));
 $row = sql_fetch(" select sum(if(wr_id=wr_parent,1,0)) as cnt from {$g5['board_new_table']} where bn_datetime > '$tmp_datetime' ");
 return (int)$row['cnt'];
}

2. 함수 호출 및 활용

원하는 위치(예: 메인 페이지, 상단바 등)에 아래와 같이 코드를 삽입하여 출력합니다.

  • 오늘 등록된 새글 개수 출력: <?php echo new_write_count()?>
  • 지정한 기간(예: 3일) 동안의 새글 개수 출력: <?php echo new_write_count(3)?>

주의사항

  • 게시판 설정: 이 방식은 g5_board_new 테이블을 참조하므로, 게시판 관리 설정에서 '검색 사용' 옵션이 체크된 게시판의 글만 집계 대상에 포함됩니다.
  • 파일 경로: extend/user.config.php 파일이 그누보드 설치 경로 내 extend/ 디렉토리에 정확히 위치해야 합니다.

게시판 설정 확인 사항

g5_board_new 테이블을 활용하여 댓글을 제외한 새글 개수를 집계하는 함수를 사용할 때, 게시판 관리 설정에서 '검색 사용' 옵션이 체크된 게시판만 집계 대상으로 포함됩니다.

주의사항

  • 데이터 누락 방지: 만약 특정 게시판의 글이 집계 결과에 포함되지 않는다면, 해당 게시판의 설정에서 '검색 사용' 옵션이 활성화되어 있는지 확인해야 합니다.
  • 집계 원리: 제공된 함수는 g5_board_new 테이블의 wr_id와 wr_parent 값을 비교(wr_id=wr_parent)하여 댓글을 제외한 원글만을 필터링합니다. 이 과정에서 검색 대상에서 제외된 게시판은 통계 로직에서 누락될 수 있습니다.

상황별 새글 집계 가이드

내 상황우선할 판단다음 행동
사이트 메인에 오늘 새글 수 표시g5_board_new 테이블 활용extend/user.config.php에 new_write_count() 함수 추가 및 호출
특정 기간(예: 3일) 새글 수 표시함수 인자값 설정new_write_count(3)으로 호출
특정 게시판 글이 집계에서 누락됨게시판 설정 확인관리자 페이지에서 해당 게시판 '검색 사용' 옵션 체크

실전 FAQ

Q. 게시판 설정에서 '검색 사용' 옵션을 끄면 어떻게 되나요? A. g5_board_new 테이블을 참조하는 로직 특성상, 검색 사용이 체크되지 않은 게시판의 글은 집계 대상에서 완전히 제외됩니다. 통계에 포함하려면 반드시 해당 옵션을 활성화해야 합니다.

Q. 함수를 추가했는데 숫자가 0으로만 나옵니다. A. extend/user.config.php 파일 경로가 올바른지, 파일 내 PHP 문법 오류가 없는지 확인하세요. 또한, g5_board_new 테이블에 데이터가 실제로 존재하는지(게시글이 등록되었는지) 확인이 필요합니다.

Q. 댓글을 제외하고 원글만 집계되는 원리가 무엇인가요? A. 함수 내 SQL 쿼리에서 sum(if(wr_id=wr_parent,1,0)) 조건을 사용합니다. 그누보드 구조상 원글은 wr_id와 wr_parent가 같고, 댓글은 wr_parent가 원글의 ID를 가리키므로 이 조건을 통해 원글만 필터링합니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.