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($board_id == '1' && is_user_logged_in() && !$board->isAdmin()){ $user_id = get_current_user_id(); $userdata = get_userdata($user_id); $date = date('Ymd000000', current_time('timestamp')); if(in_array('subscriber', $userdata->roles)){ $content_count = 1; } else if(in_array('editor', $userdata->roles)){ $content_count = 3; } else{ $content_count = 5; } $count = $wpdb->get_var("SELECT COUNT(*) FROM `{$wpdb->prefix}kboard_board_content` WHERE `member_uid` = '{$user_id}' AND `date` > '{$date}'"); if($count >= $content_count){ die("<script>alert('오늘은 더 이상 등록할 수 없습니다.'); history.go(-1);</script>"); } } }
위 내용을 추가 하면 하루 글쓰기 제한을 걸 수 있는데, 만약에 한달로 하려면 어느 부분을 수정 해야 할까요?
이전 댓글에 안내해드린 코드를 적용하면
현재시간으로부터 한 달 전으로 적용됩니다.
유료 결제를 한 시점이라면 별도의 코드를 작성해주셔야 할 듯합니다.
직접 코드를 수정하시는 게 어려우시다면
프로젝트 의뢰에 상세 내용을 올려보세요.
https://www.cosmosfarm.com/project
고맙습니다.
위 내용을 적용을 해봤는데.. 혹시 그러면 한달 범위 작성 기준일이 어떻게 되는건가요?
글을 하나 작성 시 부터 한달을 측정 하는건가요?
예를 들어 회원이 유료결제를 한 시점 부터 한달 간으로 설정을 하려면
어느 부분을 수정 해야 되나요?
안녕하세요~^^
프로그램 코드를 올려야 할 경우 에디터의 코드 스니펫 삽입 기능을 사용해주세요.
그렇지 않으면 이상한 코드로 바뀌거나 질의응답 시 소통에 문제가 있을 수도 있습니다.
올려주신 코드에서 하루 기준을 한 달로 변경하시려면
올려주신 코드 중 아래의 코드를 찾아서
date('Ymd000000', current_time('timestamp'));
아래의 코드로 교체해보세요.
date('Ymd000000', strtotime('-1 month', current_time('timestamp')));
PHP date 함수 관련해서는 아래 링크도 참고 부탁드립니다.
https://www.php.net/manual/en/function.date.php
고맙습니다.