KBoard 모든 게시판의 댓글을 달때 글자수 제한을 걸고 싶습니다.

게시판에서 댓글을 달때에 띄어스기는 별도로 글자숫자만 15개 이상일 때에 댓글이 등록되게 하고 싶습니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    KBoard 플러그인 kboard_comments_pre_insert 액션을 활용하시면

    댓글이 입력되기 전 코드를 추가하고 실행되게 하실 수 있습니다.

    모든 게시판에서 15글자 미만일 때 댓글이 등록되지 않게 하시려면

    아래의 코드를 활용해보시겠어요?

    add_action('kboard_comments_pre_insert', 'kboard_comments_pre_insert_2020_04_27', 10, 3);
    function kboard_comments_pre_insert_2020_04_27($comment_uid, $content_uid, $board){
    	$comment_content = isset($_POST['comment_content']) ? sanitize_text_field($_POST['comment_content']) : '';
    	$strlen = mb_strlen($comment_content, 'utf-8');
    	
    	if($strlen < 15){
    		echo "<script>alert('15글자 이상으로 입력해주세요.');history.go(-1);</script>";
    		exit;
    	}
    }

    테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.

    고맙습니다.

  • 답변감사합니다. 제대로 작동하네요. 그런데 댓글 입력창에 '댓글 달기...' 이부분을 '댓글은 15자 이상 작성해주세요' 라고 수정은 어떻게 해야 하나요?

  • 말씀하신 부분은 댓글 입력 필드의 placehoder입니다.

    gettext 필터를 활용하시면 KBoard 플러그인의 문구를 수정하실 수 있습니다.

    아래의 코드를 활용해보시겠어요?

    add_action('kboard_skin_header', 'kboard_skin_header_2020_04_27', 10, 1);
    function kboard_skin_header_2020_04_27($builder){
    	$board = $builder->board;
    	if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
    		add_filter('gettext', 'gettext_2020_04_27', 10, 3);
    	}
    }
    
    function gettext_2020_04_27($translated_text, $text, $domain){
    	if($domain == 'kboard-comments'){
    		switch($translated_text){
    			case '댓글 달기': $translated_text = '댓글은 15자 이상 작성해주세요';
    			break;
    		}
    	}
    	return $translated_text;
    }

    위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.

    테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.

     

    placeholder에 표시되는 "..."을 안 보이게 하시려면

    FTP로 접속해서 /wp-content/plugins/kboard-comments/skin/사용중인스킨/list.php 파일에

    아래의 코드를 찾아서

    placeholder="<?php echo __('Add a comment', 'kboard-comments')?>..."

    아래의 코드로 교체해보세요.

    placeholder="<?php echo __('Add a comment', 'kboard-comments')?>"

    고맙습니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요