안녕하세요,
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;
}
고맙습니다.
감사합니다!!
안녕하세요.
본문에 올려주신 코드는 오늘 0시 이후에 작성된 게시글을 표시하는 코드입니다.
오늘 0시가 아닌 현재 시간을 기준으로 24시간 전의 글을 표시하고 싶으신 건지요?
올려주신 코드 중 아래의 코드를 찾아서
$date = date('Ymd000000', current_time('timestamp')); // 오늘 0시 기준
아래의 코드로 교체해보시겠어요?
$date = date('YmdHis', strtotime('-1 day', current_time('timestamp')));
고맙습니다.
프로그램 코드를 올려야 할 경우 에디터의 코드 스니펫 삽입 기능을 사용해주세요.
고맙습니다.
답변 정말 감사드립니다. 잘 동작하네요.
아직 초보자고 가져다 쓴 코드라 정확한 이해는 어렵지만,
제가 적용한 (질문에서) 코드가 매일 0시가 되면 글 자체가 업뎃되는 것처럼 보여지는데,
혹시 최근 24시간 동안의 글이 리스팅되도록 한다거나 하는 식으로 function 수정이 어려울까요?
안녕하세요~^^
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 플러그인을 사용해서 코드를 추가할 수 있습니다.
저희 블로그에도 해당 코드를 추가하도록 하겠습니다.
고맙습니다.