안녕하세요?
https://blog.naver.com/PostView.nhn?blogId=chan2rrj&logNo=221292384251
블로그에 올려주신 내용을 토대로 베스트 게시판을 만드려합니다.
다만 저기서 나온 월간 베스트는 그 달(7월이면 7월에 쓴글)만 나오는거같은데
저런 형식이 아닌 "최근 30일" 글만 나오게 할수있는 방법이 있나요?
주간 베스트 만드는 방법이 제가 원하던 것과 유사한거같은데,
그걸 이용하면 될까요?
안녕하세요~^^
KBoard 플러그인을 활용해서 베스트 게시판을 적용할 때
오늘 날짜를 기준으로 최근 30일 게시글에 적용하시려면
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 활용해보시겠어요?
add_filter('kboard_list_where', 'my_best_kboard_list_where', 10, 3);
function my_best_kboard_list_where($where, $board_id, $content_list){
if($board_id == '1'){ // 실제 적용될 게시판의 ID값으로 변경해주세요.
$today = date('Ymd000000', current_time('timestamp'));
$before_day = date('Ymd000000', strtotime($today.' -30 day')); // 30일 전
$where = "`date`>='{$before_day}' AND `parent_uid`='0' AND `notice`='' AND (`status`='' OR `status` IS NULL OR `status`='pending_approval')";
}
return $where;
}
add_filter('kboard_list_orderby', 'my_best_kboard_list_orderby', 10, 3);
function my_best_kboard_list_orderby($orderby, $board_id, $content_list){
if($board_id == '1'){ // 실제 적용될 게시판의 ID값으로 변경해주세요.
$orderby = "(`view`+`vote`) DESC, `date` DESC"; // 조회수와 추천수를 더한 값을 기준으로 정렬
}
return $orderby;
}
위의 코드에서 $board_id == '1' 부분은 실제 게시판 id로 적용해보세요.
고맙습니다.