안녕하십니까.
화이클 다운로드 / Default 스킨으로 다운로드 페이지를 제작하고싶습니다.
게시판 설정에서 첨부파일 다운로드 포인트 차감은 일괄적으로 xx 포인트를 차감하는데요. 첨부파일마다 포인트를 다르게 차감할 수 있을까요? ^-^
예를들어 글쓰기할때 숏코드 [kboard_attachment_deduct id='MyPoint' point='3'] 를 추가하면 3포인트가 차감되는 형식이나.. 다른 방법이 있을지 문의드립니다.
항상 많은 도움에 감사합니다.
안녕하세요~^^
KBoard 플러그인에서 첨부파일 다운로드 감소 포인트를 게시글 별로 다르게 적용하시려면
포인트설정 기능 대신 별도의 코드를 작성해주셔야 할 듯합니다.
게시글 작성 시 차감 포인트를 설정할 수 있는 필드를 생성하신 후에
첨부파일 다운로드 시 포인트 차감 필드에 설정된 포인트만큼 차감하는 방식으로 진행해주셔야 할 듯합니다.
입력 필드는
워드프레스 관리자 -> KBoard -> 게시판 목록 -> 게시판 선택 -> 입력필드 설정 탭에서 설정하실 수 있습니다.
입력필드 설정 기능을 지원하지 않는 스킨을 사용 중이시라면
아래의 링크를 참고해보세요.
워드프레스 게시판 KBoard(케이보드) 새로운 입력 필드 추가 방법 (커스터마이징)
KBoard 내장 액션인 kboard_file_download 액션을 활용하시면
첨부파일 다운로드 시 코드를 추가하고 실행되게 하실 수 있습니다.
기본 사용법은 아래와 같습니다.
add_action('kboard_file_download', 'kboard_file_download_2020_01_10', 10, 4);
function kboard_file_download_2020_01_10($file_info, $content, $board, $comment){
// 이곳에 코드를 추가해보세요.
}
myCRED 플러그인의 mycred_add 함수를 사용하시면
직접 코드를 추가해서 사용자의 포인트 증가 또는 감소하도록 설정하실 수 있습니다.
mycred_add 함수에 대한 자세한 설명은 아래 링크를 확인해주세요.
https://codex.mycred.me/functions/mycred_add/
고맙습니다.
운영자님 안녕하세요?
게시판에 추가한 '포인트 차감 필드'의 값은 어떻게 받아와야 하나요?
밑에 코드에서 -5 를 게시판별 'download_point' 라는 필드메타키 값으로 수정하고 싶습니다.
// K보드 첨부파일 다운로드 게시판별 포인트 차감 //
add_action('kboard_file_download', 'kboard_file_download_2020_01_10', 10, 4);
function kboard_file_download_2020_01_10($file_info, $content, $board, $comment){
if($board->id == '3') {
$user_id = get_current_user_id();
mycred_add( 'file_download', $user_id, -5, '파일 다운로드 포인트 차감' );
}
}
추가로, 기존 다운로드 했던 파일의 경우는 포인트 차감없이 다운로드 가능하도록 설정 가능할까요?
감사합니다.
안녕하세요~! ^^*
아래처럼 코드 추가해서 첫번째 문제는 해결했습니다.
다운로드 skin editor.php 에 코드 추가
<!-- editor.php 파일에 다운로드 포인트 추가 -->
<div class="kboard-attr-row">
<label class="attr-name" for="kboard_option_download_point">다운로드포인트</label>
<div class="attr-value"><input type="text" id="kboard_option_download_point" name="kboard_option_download_point" value="<?php echo $content->option->download_point?>"></div>
</div>
function.php 에 아래 코드 추가
// K보드 다운로드 포인트 차감 //
add_action('kboard_file_download', 'kboard_file_download_2020_01_10', 10, 4);
function kboard_file_download_2020_01_10($file_info, $content, $board, $comment){
if($board->id == '3') {
$user_id = get_current_user_id();
$point = $content->option->download_point;
mycred_add( 'file_download', $user_id, $point, '파일 다운로드 포인트 차감' );
}
}
궁금한점은, 기존 다운로드했던 파일은 추가 포인트 차감이 되지 않도록 하고 싶은데, 방법이 궁금합니다.
빠른 피드백 감사드립니다 ^-^~
안녕하세요.
기존 다운로드한 파일을 다시 다운로드해도 포인트 차감이 되지 않게 하시려면
워드프레스 User Meta를 활용해보시겠어요?
update_user_meta 함수를 활용하여 게시글 고유 uid를 배열로 저장하고
get_user_meta 함수로 체크를 하는 방법입니다.
각 함수에 대한 자세한 내용은
아래의 링크를 참고해보세요.
https://developer.wordpress.org/reference/functions/update_user_meta/
https://developer.wordpress.org/reference/functions/get_user_meta/
고맙습니다.
위 내용 중 (아래) 아래 코드를 화이클 다운로드 스킨/ funtion.php 에 적용시키는것인가요?
게시판에서 첨부파일별로 포인트를 입력하고 다운로드시 차감되게 구현하려고 합니다.
-------------------------
KBoard 내장 액션인 kboard_file_download 액션을 활용하시면
첨부파일 다운로드 시 코드를 추가하고 실행되게 하실 수 있습니다.
기본 사용법은 아래와 같습니다.
add_action('kboard_file_download', 'kboard_file_download_2020_01_10', 10, 4);
function kboard_file_download_2020_01_10($file_info, $content, $board, $comment){
// 이곳에 코드를 추가해보세요.
}
테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.
kboard_file_download 액션을 활용해서 게시글마다 첨부파일 다운로드 시
차감되는 포인트를 다르게 적용하시려면 차감 포인트를 입력할 수 있는 필드도 추가해주셔야 합니다.
입력 필드 설정을 지원하는 스킨을 사용 중이시라면
워드프레스 관리자 -> KBoard -> 게시판 목록 -> 게시판 선택 -> 입력필드 설정 탭에서
필드를 추가하실 수 있습니다.
입력 필드 설정을 지원하지 않는다면 이전 댓글의 내용들을 참고해보시겠어요?
고맙습니다.