케이보드 글쓰기 하루 개수 제한
케이보드 댓글쓰기 하루 개수 제한
콘텐츠몰 상품등록 하루 개수 제한
위 3가지를 설정하려면 어떻게 해야 하나요?
안녕하세요.
여러 개의 게시판에 적용하실 땐 PHP in_array 함수를 활용해보시겠어요?
$board->id == '1' 부분을 in_array($board->id, array('1', '2', '3')) 이런 식으로 적용해보시겠어요?
고맙습니다.
안녕하세요, 위 코드를 적용하려고 하는데 2개이상의 게시판에 적용하려면 어떻게해야하나요?!
$board_id == '1' 이부분을 $board_id == '1,2' 이렇게해봤는데 안되네요ㅠㅠ..
안녕하세요~^^
KBoard 플러그인에서 게시글이나 댓글을 하루에 특정 개수만 작성할 수 있게 하시려면
쓰기권한을 로그인 사용자나 특정 역할만 쓸 수 있게 설정하셔야 할 듯합니다.
워드프레스 관리자 -> KBoard -> 게시판 목록 -> 게시판 선택 -> 권한설정 페이지에서
쓰기권한을 설정하실 수 있습니다.
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_action('kboard_pre_document_insert', 'my_kboard_pre_document_insert', 10, 4);
function my_kboard_pre_document_insert($content_uid, $board_id, $content, $board){
global $wpdb;
if(is_user_logged_in() && !$board->isAdmin() && $board_id == '1'){
$user_id = get_current_user_id();
$date = date('Ymd000000', current_time('timestamp'));
$content_count = 1;
$where[] = "`board_id`='{$board_id}'";
$where[] = "`member_uid`='{$user_id}'";
$where[] = "`date` > '{$date}'";
$where[] = "(`status`='' OR `status` IS NULL OR `status`='pending_approval')";
$where = implode(' AND', $where);
$count = $wpdb->get_var("SELECT COUNT(*) FROM `{$wpdb->prefix}kboard_board_content` WHERE {$where}");
if($count >= $content_count){
die("<script>alert('오늘은 더 이상 등록할 수 없습니다.'); history.go(-1);</script>");
}
}
}
add_action('kboard_comments_pre_insert', 'my_kboard_comments_pre_insert', 10, 3);
function my_kboard_comments_pre_insert($comment_uid, $content_uid, $board){
global $wpdb;
if(is_user_logged_in() && !$board->isAdmin() && $board->id == '1'){
$user_id = get_current_user_id();
$date = date('Ymd000000', current_time('timestamp'));
$content_count = 1;
$from[] = "`{$wpdb->prefix}kboard_comments` AS `comment`";
$from[] = "INNER JOIN `{$wpdb->prefix}kboard_board_content` AS `content` on `content`.`uid` = `comment`.`content_uid`";
$from = implode(' ', $from);
$where[] = "`user_uid` = '{$user_id}'";
$where[] = "`created` > '{$date}'";
$where[] = "(`content`.`status`='' OR `content`.`status` IS NULL OR `content`.`status`='pending_approval')";
$where[] = "`content`.`board_id` = '{$board->id}'";
$where = implode(' AND', $where);
$count = $wpdb->get_var("SELECT COUNT(*) FROM {$from} WHERE {$where}");
if($count >= $content_count){
die("<script>alert('오늘은 더 이상 등록할 수 없습니다.'); history.go(-1);</script>");
}
}
}
위의 코드에서 $board_id == '1' 부분과 $board_id == '1' 부분은 실제 게시판 id로 적용해보세요.
$content_count = 1 부분은 실제 하루에 쓸 수 있는 개수로 각각 설정해보시겠어요?
고맙습니다.