안녕하세요.
k보드 게시판과 댓글에 글을 쓰면 포인트 지급/차감이 가능하도록 게시판마다 설정이 있는데요.
제가 지급자체를 중간에 가로채서 더 주거나 덜 주고나 하고 싶거든요.
myCRED랑 연동해서 사용 중인데 액션으로 하니까 기존 로직에 더해서 추가로 더 주거나 덜 주게 구현이 되는 것 같습니다.
좋은 방법이 있을까요?
답변 고맙습니다. 해볼게요.
안녕하세요~^^
KBoard 플러그인에서 게시글이나 댓글 작성 시에 포인트 증가 및 감소는
myCred 플러그인의 mycred_add() 함수를 사용하고 있습니다.
KBoard 플러그인에서 kboard_pre_content_execute 액션과 kboard_comments_pre_insert 액션을 지원하고 있기 때문에
게시글 작성이나 댓글 작성 시에 다른 로직을 추가하실 수 있습니다.
간단하게 예제 코드를 만들어봤습니다.
게시판 관리자가 게시글이나 댓글 작성 시 포인트를 1000 증가시키고
다른 사용자가 게시글이나 댓글 작성 시 포인트를 50 증가시키는 예제입니다.
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_action('kboard_pre_content_execute', 'my_kboard_pre_content_execute', 10, 2);
function my_kboard_pre_content_execute($content, $board){
// 게시글 작성 시
if($board->id == '1'){
if($board->isAdmin()){
$board->meta->document_insert_up_point = 1000;
}
else{
$board->meta->document_insert_up_point = 50;
}
}
}
add_action('kboard_comments_pre_insert', 'my_kboard_comments_pre_insert', 10, 3);
function my_kboard_comments_pre_insert($comment_uid, $content_uid, $board){
// 댓글 작성 시
if($board->id == '1'){
if($board->isAdmin()){
$board->meta->document_insert_up_point = 1000;
}
else{
$board->meta->document_insert_up_point = 50;
}
}
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 변경하신 후에 적용해보시겠어요?
고맙습니다.