인기순, 최신순, 가나다순 라디오 버튼을 만들고 각각 버튼을 누를때 ‘인기’, ‘최신’, ‘가나다’ 처럼 다른 파라미터를 준 정렬함수를 실행하면 될 것 같은데, 어떤 함수를 사용해야 하는지 모르겠습니다.
function my_kboard_list_default_sorting($sorting, $board_id, $content_list){
$sorting = 'best';
return $sorting;
}
add_filter('kboard_list_default_sorting', 'my_kboard_list_default_sorting');
검색을 해서 위 코드를 테마의 functions.php 하단에 넣으면 인기순으로 정렬되는건 확인했습니다. 위 코드를 활용할 수 있을까요??
또, 저 필터는 어디에서 적용되는건가요?
좋은 플러그인 감사드립니다.
KBoard 게시글 정렬 기능이 아직 부족한점이 있어서 정렬순서를 사용자가 직접 선택하게 하는 기능이 스킨에 아직 추가되어 있지 않습니다.
kboard_list_default_sorting 필터는 아래 파일에서 실행됩니다.
/kboard/class/KBContentList.class.php
버튼을 누를때 적용하시려면,
http://www.cosmosfarm.com/demo/?kboard_list_sort=newest
http://www.cosmosfarm.com/demo/?kboard_list_sort=best
http://www.cosmosfarm.com/demo/?kboard_list_sort=updated
이런식으로 주소에 kboard_list_sort 값을 써주시면 정렬 순서가 바뀌니 활용해보세요^^
감사합니다. 또 질문이 두가지가 있습니다.. getCommentsCount처럼 덧글 수를 리턴하는 함수가 있는데, 비슷하게 좋아요 숫자를 리턴하는 함수가 있나요?? 아니면 구현해야하나요?
또, 답변해주신것 보고 아래와같이 만들어 보았습니다.
<input type="radio" value="new" onclick="sort('new')"> 최신순 <input type="radio" value="best" onclick="sort('best')"> 인기순 <input type="radio" value="best" onclick="sort(‘updated’)”> 수정순 <script> function sort(type) { var x = location.href; if(type=='new'){ location.href=x+'?kboard_list_sort=newest'; } else if(type=='best'){ location.href=x+'?kboard_list_sort=best'; } else if(type=='updated'){ location.href=x+'?kboard_list_sort=updated'; } } </script>
그런데 저렇게 하면 정렬버튼을 여러번 눌렀을 떄 정상 작동하지 않습니다..
버튼을 여러번 누르게되면
http://www.cosmosfarm.com/demo/?kboard_list_sort=newest?kboard_list_sort=newest?kboard_list_sort=newest
처럼 ?kboard_list_sort=newest이 반복됩니다..
원래의 url인 http://www.cosmosfarm.com/demo/ 를 저장해야 할 것 같은데 어떻게 해야할지 감이 안오네요..
문제의 사이트입니다.
http://develop.spiceandwolf.co.kr/new-design/
워드프레스 현재 페이지 주소는 아래처럼 해보세요.
var x = '<?php echo esc_url(the_permalink())?>';
그리고 type 값을 체크해서 적절히 주소에 kboard_list_sort 값을 추가해주세요.
window.location.href = x + '?kboard_list_sort=newest';
그리고 좋아요 숫자는 아래처럼 해보세요.
좋아요 출력 <?php echo intval($content->like)?>
싫어요 출력 <?php echo intval($content->unlike)?>
추천수 출력 <?php echo intval($content->vote)?>
추천수는 좋아요에서 싫어요 숫자를 뺀 값입니다.
좋아요 숫자보다 싫어요가 크다면 추천수는 마이너스(-)값이 됩니다.
리스트에서 추천수를 보여주시면 됩니다.