

개요
게시판별로 회원 1명이 작성할 수 있는 게시글의 총 누적 개수를 제한하는 플러그인입니다.
예를 들어 "자유게시판"에 최대 3개로 설정하면, 해당 회원이 3개를 작성한 이후에는 더 이상 글을 쓸 수 없습니다. 삭제한 글은 카운트에서 제외되므로, 기존 글을 삭제하면 다시 작성할 수 있습니다.
관리자 계정은 제한에서 제외되며 코어 파일은 수정하지 않습니다.
주요 기능
- 게시판별 독립적인 최대 게시글 수 설정
- 한도 초과 시 글쓰기 화면 접근 차단 (1차) + POST 직접 제출 차단 (2차)
- 삭제된 글(
status=0)은 카운트에서 제외 - 게시글 수정(edit)은 제한 없음 — 기존 글 수정은 항상 허용
- 차단 안내 메시지 게시판별 개별 설정
- 관리자 화면에서 회원별 게시글 수 바 차트 확인
- 관리자 계정 완전 제외
설치 방법
1단계 — 파일 업로드
plugins/
└── dx-post-limit/
├── manifest.php
├── plugin.php
├── core/
│ ├── install.php
│ └── helper.php
└── admin/
└── index.php
dx-post-limit 폴더 전체를 서버의 plugins/ 디렉터리에 업로드합니다.
2단계 — 플러그인 활성화
- DXCMS 관리자 > 플러그인 클릭
- "DX 게시글 제한" 항목에서 활성화 클릭
- 활성화 시 DB 테이블이 자동 생성됩니다.
3단계 — 게시판 설정
- 관리자 좌측 메뉴 게시판 > 게시글 제한 클릭
- 설정할 게시판의 설정 버튼 클릭
- 항목 입력 후 저장
관리자 화면 사용법
관리자 URL: /admin/post-limit
게시판 목록이 표시되며 게시판명 또는 설정 버튼을 클릭하면 인라인으로 설정 패널이 펼쳐집니다.
| 설정 항목 | 설명 | 기본값 |
|---|---|---|
| 게시글 제한 활성화 | 해당 게시판의 제한 기능 ON/OFF | OFF |
| 최대 게시글 수 | 회원 1명이 작성 가능한 최대 누적 개수 | 1개 |
| 차단 안내 메시지 | 한도 초과 시 표시할 메시지 | 기본 메시지 |
현재 현황 (설정 패널 내)
설정 패널 안에 현재 게시글 수 상위 10명의 바 차트가 표시됩니다.
- 한도 미달: 초록색 바
- 한도 초과: 빨간색 바 + "한도초과" 뱃지
동작 흐름
회원이 글쓰기 버튼 클릭
│
▼
관리자 계정? ─Yes─▶ 제한 없이 글쓰기 가능
│ No
▼
해당 게시판 제한 활성화? ─No─▶ 제한 없이 글쓰기 가능
│ Yes
▼
현재 작성 글 수 >= 최대 개수?
│ Yes │ No
▼ ▼
[글쓰기 차단 에러 화면] 글쓰기 화면 정상 표시
- 현재 N개 / 최대 N개 │
- 안내 메시지 표시 ▼
글 저장 직전 2차 검증
│
▼
정상 저장 완료
차단 2단계
직접 URL로 POST 요청을 보내는 우회 시도를 막기 위해 2단계로 차단합니다.
| 단계 | 훅 | 시점 |
|---|---|---|
| 1차 | dx_board_write_context |
글쓰기 화면 렌더링 전 |
| 2차 | dx_board_before_save |
글 저장 직전 |
카운트 기준
| 상태 | 카운트 포함 여부 |
|---|---|
정상 게시글 (status=1) |
✅ 포함 |
삭제된 게시글 (status=0) |
❌ 제외 |
| 수정 중인 게시글 | ✅ 기존 글이므로 포함 |
| 공지사항 | ✅ 포함 |
제거 방법
- DXCMS 관리자 > 플러그인에서 비활성화
- 서버에서
plugins/dx-post-limit/폴더 삭제 - DB 테이블 삭제 (선택):
DROP TABLE IF EXISTS `{prefix}post_limit_settings`;
{prefix}는 DXCMS DB 테이블 접두사로 대체하세요. (기본값:dx_)
기술 정보
| 항목 | 내용 |
|---|---|
| 사용 훅 | dx_extend_top (1), dx_board_write_context (10), dx_board_before_save (1), dx_admin_top (1) |
| 카운트 방식 | posts 테이블에서 board_id + member_id + status=1 실시간 카운트 |
| DB 테이블 | post_limit_settings |
| 코어 파일 수정 | 없음 |
| 관리자 URL | /admin/post-limit |
자주 묻는 질문
Q. 글을 삭제하면 다시 쓸 수 있나요?
A. 네. 삭제된 글은 카운트에서 제외되므로 삭제 후 새 글을 작성할 수 있습니다.
Q. 최대 개수를 1로 설정하면 한 게시판에 1개만 쓸 수 있나요?
A. 맞습니다. 공지사항, 자기소개, 상품 등록 등 1인 1글 게시판에 활용할 수 있습니다.
Q. 기존에 한도를 초과해서 작성된 글은 어떻게 되나요?
A. 기존 글은 그대로 유지됩니다. 플러그인 활성화 이후 신규 작성부터 제한이 적용됩니다.
Q. 글 수정은 가능한가요?
A. 네. 수정(edit)은 새 글 작성이 아니므로 한도와 관계없이 항상 가능합니다.
Q. 여러 게시판에 동시에 다른 한도를 설정할 수 있나요?
A. 네. 게시판별로 독립적으로 설정합니다. A게시판은 3개, B게시판은 1개 등 다르게 설정할 수 있습니다.
https://dxcmsboard.com
관리자 아이디 : admin / 비밀번호 : 12341234