글읽기 감소 포인트 질문합니다~ / 회원별 게시판 보이기

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

    고맙습니다.

  • 만세~~ 잘 됩니다!!

    잘 사용하겠습니다~~^^*

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