1.현재는 글을 읽으면 한번만 정해진 점수가 차감이 되는데...
글을 읽을 때마다 점수가 차감이 되게 하고 싶습니다.
2.회원별로 게시판을 선택하여 보일 수 있을까요?
---------------------------------------------------------------------------------------------------
회원별 포인트를 지급하여 특정 게시판의 글을 한번씩만 읽게하는 시스템을 만들고 싶어서입니다.
안녕하세요~^^
1. KBoard 플러그인에서 게시글 본문 내용을 볼 때마다
포인트를 차감되게 하시려면
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_action('kboard_skin_header', 'my_kboard_skin_footer', 10, 1);
function my_kboard_skin_footer($builder){
$board = $builder->board;
if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
$content_uid = kboard_uid();
$content = new KBContent();
$content->initWithUID($content_uid);
if($content->uid && $content->member_uid != get_current_user_id()){
$log_args['user_id'] = get_current_user_id();
$log_args['ref'] = 'document_read_down_point';
$log_args['ref_id'] = $content->uid;
$log = new myCRED_Query_Log($log_args);
$url = new KBUrl();
$balance = mycred_get_users_balance(get_current_user_id());
if($board->meta->document_read_down_point > $balance){
do_action('kboard_cannot_read_document', 'not_enough_points', $url->set('mod', 'list')->toString(), $content, $board, $builder);
}
else{
$point = intval(get_user_meta(get_current_user_id(), 'kboard_document_mycred_point', true));
update_user_meta(get_current_user_id(), 'kboard_document_mycred_point', $point + ($board->meta->document_read_down_point*-1));
mycred_add('document_read_down_point', get_current_user_id(), ($board->meta->document_read_down_point*-1), __('Reading decrease points', 'kboard'), $content->uid);
}
}
}
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.
2. 질문이 이해가 잘 가지 않습니다.
좀 더 설명해주시겠어요?
코스모스팜 회원관리 플러그인을 활용하시면
특정 사용자만 페이지를 볼 수 있게 할 수 있습니다.
자세한 설명은 워드프레스 페이지 접근 제한 기능 소개를 확인해주세요.
고맙습니다.
## 운영자님~~ 질문자입니다
네..감사하게도..1번 질문은 답변 주신대로 해보니 실행이 잘 됩니다..^^(2번 질문은 다음에..^^::)
게시판 한개(id:1)는 위의 설명대로 하면 되는데,
코딩 안전초보라....게시판이 여러개 일 때 어떻게 삽입을 하는지 모르겠습니다.
똑같이 복사해서 바로 밑에 다른 게시판id(예:2,3,4)만 달리해서 붙여 넣으니 안되네요...ㅜ
안녕하세요.
여러 개의 게시판에 적용하시려면 이전 댓글에 안내해드린 코드 중
아래의 코드를 찾아서
$board->id == '1'
아래의 코드로 교체해서 확인해보시겠어요?
in_array($board->id, array('2','3','4'))
위의 코드로 교체하시면 게시판 id가 2,3,4번인 게시판에만 적용됩니다.
PHP in_array 함수에 대한 자세한 내용은
아래의 링크를 참고해보세요.
https://www.php.net/manual/es/function.in-array.php
고맙습니다.
만세~~ 잘 됩니다!!
잘 사용하겠습니다~~^^*