게시글의 정렬 순서를 사용자가 선택할수 있게 하고 싶습니다.

인기순, 최신순, 가나다순 라디오 버튼을 만들고 각각 버튼을 누를때 ‘인기’, ‘최신’, ‘가나다’ 처럼 다른 파라미터를 준 정렬함수를 실행하면 될 것 같은데, 어떤 함수를 사용해야 하는지 모르겠습니다.

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)?>

     

    추천수는 좋아요에서 싫어요 숫자를 뺀 값입니다.

    좋아요 숫자보다 싫어요가 크다면 추천수는 마이너스(-)값이 됩니다.

    리스트에서 추천수를 보여주시면 됩니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요