게시판에서 본문에 글자 수를 1500자로 제한을 걸고 싶은데
어느 부분을 수정 해야 하나요? 혹시 수정 코드는 어떻게 되는지 알 수 있을까요?
안녕하세요~^^
KBoard 플러그인의 kboard_pre_document_insert 액션과 kboard_pre_document_update 액션을 활용하시면
게시글 등록, 수정 전 코드를 추가하고 실행되게 하실 수 있습니다.
본문 내용 길이는 PHP mb_strlen 함수를 활용하시면 체크하실 수 있습니다.
본문 내용을 1500자까지만 입력되게 하시려면
아래의 코드를 활용해보세요.
add_action('kboard_pre_document_insert', 'kboard_pre_document_insert_20210222', 10, 4);
add_action('kboard_pre_document_update', 'kboard_pre_document_insert_20210222', 10, 4);
function kboard_pre_document_insert_20210222($content_uid, $board_id, $content, $board){
if($board_id == '1'){ // 실제 게시판 id로 적용해주세요.
$length = mb_strlen($content->content, 'utf-8');echo $length; exit;
if($length > 1500){
echo "<script>alert('본문 내용은 1500자 이하로 기입해주세요.')</script>";
echo "<script>window.history.back();</script>";
exit;
}
}
}
위의 코드에서 $board_id == '1' 부분은 실제 게시판 id로 적용해보세요.
테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.
고맙습니다.
추가 했는데, 적용이 안되네요 다른 부분을 만져야 할까요?
안녕하세요.
저희 쪽 테스트 서버에서는 해당 코드가 정상적으로 동작하는 것을 확인했습니다.
코드는 어느 부분에 추가를 하신 건지요?
만약, 수정한 코드가 서버에 정상적으로 업로드됐다면
브라우저의 캐시 문제는 아닌지 확인해보시겠어요?
크롬 브라우저에서 강력 새로고침 단축키는 Ctrl + Shift + R 입니다.
사용 중이신 테마나 다른 플러그인에서 캐시 기능이 있다면
비활성화한 후에도 확인해보셔야 할 듯합니다.
고맙습니다.
위 코드의 5번째 줄 $length = mb_strlen($content->content, 'utf-8');echo $length; exit;
에서 뒷 부분인 echo $length; exit; 를 지우니 정상적으로 작동이 되네요.