안녕하세요^^
게시판을 주소록으로 사용하려고 합니다.
목록에는 카테고리가 제목 앞에 표시되도록 스킨을 수정했습니다.
게시판을 클릭했을때 목록 기본 정렬을 1순위-카테고리순, 2순위-제목 가나다순, 이렇게 하고 싶은데
방법이 있을까요?
안녕하세요~^^
KBoard 플러그인의 kboard_list_orderby 필터를 활용하시면
게시글 목록을 가져오는 DB쿼리문의 ORDER절을 편집할 수 있습니다.
아래의 코드를 활용해보세요.
add_filter('kboard_list_orderby', 'kboard_list_orderby_20200818', 10, 3);
function kboard_list_orderby_20200818($orderby, $board_id, $list){
if($board_id == '1'){ // 실제 게시판 id로 적용해주세요.
$sort = isset($_COOKIE["kboard_list_sort_{$board_id}"]) ? $_COOKIE["kboard_list_sort_{$board_id}"] : $list->getDefaultSorting();
$sort = isset($_SESSION["kboard_list_sort_{$board_id}"]) ? $_SESSION["kboard_list_sort_{$board_id}"] : $sort;
$sort = isset($_GET['kboard_list_sort']) ? $_GET['kboard_list_sort'] : $sort;
if($sort == 'category1'){
$orderby = "`category1` ASC, `title` ASC";
}
}
return $orderby;
}
add_filter('kboard_list_default_sorting', 'kboard_list_default_sorting_20200818' , 10, 3);
function kboard_list_default_sorting_20200818($sort, $board_id, $list){
if(kboard_builder_mod() == 'list' && $board_id == '1'){ // 실제 게시판 id로 적용해주세요.
$sort = 'category1';
}
return $sort;
}
위의 코드에서 $board_id == '1' 부분은 실제 게시판 id로 적용해주세요.
ASC 부분을 DESC로 교체하시면 내림차순으로 적용하실 수 있습니다.
테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.
고맙습니다.
적용하니까 잘 작동이 되는데 한가지 더 부탁드려봅니다.
카테고리순서는 가나다 오름차순으로 정렬하지 않고 제목만 가나다순으로 하고
카테고리는 배치순서로 정렬하고 싶습니다.
예를 들면 - 카테고리 설정을 아래와 같이 배치 했을경우 배치된 카테고리 순서로 나오게 했으면 좋겠습니다.
(서울,부산,대구,인천,경기,경남,경북,강원,전남,전북,충청)
가나다순이 아닌 원하는 카테고리 순서대로 적용하시려면
MySQL FIELD에 대해 알아보시겠어요?
자세한 내용은 아래의 링크를 참고해보세요.
https://www.w3schools.com/sql/func_mysql_field.asp
https://jabstorage.tistory.com/30
고맙습니다.
네 공부해서 적용해보겠습니다.
감사합니다~~~^^