안녕하세요,
KBoard(케이보드) 게시판으로 베스트 게시판을 만들어보기 위해 검색하여 아래의 코드를 (코스모스팜 쓰레드 내 출처입니다) 작성하여 적용해 보았으나,
글 정렬은 잘 되지만, 해당 글을 클릭하면 "이동되었다"며 글로 진입하지는 못합니다.
해결방법을 부탁 드려요 ㅜㅜ
add_filter('kboard_list_where', 'today_best_kboard_list_where', 10, 3);
function today_best_kboard_list_where($where, $board_id, $content_list){
if($board_id == '4'){ // 실제 적용될 게시판의 ID값으로 변경해주세요.
$date = date('Ymd000000', current_time('timestamp')); // 오늘 0시 기준
$where = "`date`>='{$date}' AND `parent_uid`='0' AND `notice`='' AND (`status`='' OR `status` IS NULL OR `status`='pending_approval')";
}
return $where;
}
add_filter('kboard_list_orderby', 'today_best_kboard_list_orderby', 10, 3);
function today_best_kboard_list_orderby($orderby, $board_id, $content_list){
if($board_id == '4'){ // 실제 적용될 게시판의 ID값으로 변경해주세요.
$orderby = "(`view`+`vote`) DESC, `date` DESC"; // 조회수와 추천수를 더한 값을 기준으로 정렬
}
return $orderby;
}
고맙습니다.
안녕하세요~^^
KBoard 플러그인 버전이 업데이트되면서
허가되지 않은 다른 게시판에서 게시글을 불러오는 것을 차단하는 코드가 추가되었습니다.
게시판마다 권한 설정이 다른데 게시글을 그냥 불러올 수 있다면 문제가 발생될 수 있기 때문입니다.
아래 코드도 추가해보시겠어요?
add_filter('kboard_allowed_board_id', 'kboard_allowed_board_id_20200706', 10, 2);
function kboard_allowed_board_id_20200706($allowed_board_id, $board_id){
if($allowed_board_id == '3'){ // 베스트 게시판
$allowed_board_id = array('3', '1', '2'); // 자신과 다른 게시판의 ID값을 입력
}
else if($allowed_board_id == '4'){ // 베스트 오브 베스트 게시판
$allowed_board_id = array('4', '1', '2'); // 자신과 다른 게시판의 ID값을 입력
}
return $allowed_board_id;
}
테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.
저희 블로그에도 해당 코드를 추가하도록 하겠습니다.
고맙습니다.
답변 정말 감사드립니다. 잘 동작하네요.
아직 초보자고 가져다 쓴 코드라 정확한 이해는 어렵지만,
제가 적용한 (질문에서) 코드가 매일 0시가 되면 글 자체가 업뎃되는 것처럼 보여지는데,
혹시 최근 24시간 동안의 글이 리스팅되도록 한다거나 하는 식으로 function 수정이 어려울까요?
프로그램 코드를 올려야 할 경우 에디터의 코드 스니펫 삽입 기능을 사용해주세요.
고맙습니다.
안녕하세요.
본문에 올려주신 코드는 오늘 0시 이후에 작성된 게시글을 표시하는 코드입니다.
오늘 0시가 아닌 현재 시간을 기준으로 24시간 전의 글을 표시하고 싶으신 건지요?
올려주신 코드 중 아래의 코드를 찾아서
$date = date('Ymd000000', current_time('timestamp')); // 오늘 0시 기준
아래의 코드로 교체해보시겠어요?
$date = date('YmdHis', strtotime('-1 day', current_time('timestamp')));
고맙습니다.
감사합니다!!