안녕하세요.
KBoard(케이보드) 를 사용하다가 문의사항이 있어 글을 남김니다.
우선 KBoard(케이보드) 덕분에 게시판형 홈페이지를 손쉽게 제작할 수 있었습니다. 감사드립니다.
제가 지금 가지고 있는 문제점은 추천수(vote)에 따른 베스트 게시판을 따로 만들 때 게시글이 이동이 아닌 복사형태로 가도록 하려면 어떻게 해야하는지 입니다.
이전 게시글에서
- vote 값에 따라 게시물 자동 이동 https://www.cosmosfarm.com/threads/document/19456
이 글을 볼 수 있어서 참조하여 베스트 게시판을 만들어 보았습니다. 만들고 나니 잘 작동은 되었는데 본 게시판에서는 게시글이 지워지고 베스트 게시판으로 이동되고 있었습니다.
원래 게시판에도 게시글을 남기고 싶습니다. 코드를 어떻게 짜야하는지 좀 알려 주시면 감사하겠습니다.
안녕하세요~^^
게시글 이동이 아닌 복사 형태는
해당 게시글을 다른 게시판에 해당 게시글의 정보를 추가하고 옵션 필드를 이용해
옮겨진 게시글인지 확인을 해서 처리를 해야 할 듯합니다.
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_action('init', 'kboard_best_move_insert');
function kboard_best_move_insert(){
global $wpdb;
// 조건에 맞는 게시글이 이동될 특정게시판의 ID값을 입력해주세요.
$best_board_id = '93';
// 제외할 게시판의 ID를 입력해주세요.
$no_board_id = '93, 40, 41, 42';
$results = $wpdb->get_results("SELECT * FROM `{$wpdb->prefix}kboard_board_content` WHERE `board_id` NOT IN ($no_board_id) AND ((`vote` * 10) + `view`)>100 AND `notice` = ''");
foreach($results as $row){
$content = new KBContent();
$content->initWithUID($row->uid);
$content->board_id = $best_board_id;
if(!$content->option->move_check){
$content->option->move_check = '1';
$content->insertContent();
}
}
}
FTP로 접속해서 /wp-content/plugins/kboard/skin/사용중인스킨/editor.php 파일에
아래의 코드를 찾아서
<input type="hidden" name="user_id" value="<?php echo get_current_user_id()?>">
찾은 코드 밑에 아래의 코드를 추가해보세요.
<input type="hidden" name="kboard_option_move_check" value="<?php if($content->option->move_check): echo $content->option->move_check; else: echo ''; endif?>">
고맙습니다.
감사합니다. 잘 적용하였습니다.
2가지 궁금증이 있습니다. 위의 코드를 적용하였을 때
- 복사 형태로 할때 웹에 로드가 더 많이 걸리는 편인지요? 커뮤니티 사이트로 만들 생각이라 혹시 많이 버벅 거리게될지 고민됩니다.
- 게시글에 댓글을 달때 원 게시판의 글과 베스트 게시판의 글이 서로 연동이 되는지요? 베스트 게시판에서 글에 댓글을 달면 원래 게시판 쪽 글에도 댓글이 달려 있게 되는지, 그 반대도 가능한지 궁금합니다.
사이트 이용자와 게시글이 많아진다면 부하도 커질 듯합니다.
이전에 안내해드린 코드는 서로 연동이 되지 않습니다.
단지 조건에 해당하는 게시글을 찾아서 다른 게시판에 복사하는 기능입니다.
KBoard 위젯 플러그인을 사용해보시는 건 어떠신지요?
따로 코드를 추가하지 않더라도
최신글, 최신댓글, 추천글, 인기글, 공지사항, 내가쓴글, 내가쓴댓글을 위젯으로 확인할 수 있습니다.
고맙습니다.