게시판에서 댓글을 달때에 띄어스기는 별도로 글자숫자만 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')?>"
고맙습니다.