add_filter('kboard_list_from', 'my_kboard_list_from', 10, 3);
function my_kboard_list_from($from, $board_id, $content_list){
if($board_id == '1'){
global $wpdb;
$from = "`{$wpdb->prefix}kboard_board_content` LEFT JOIN `{$wpdb->prefix}kboard_board_option` ON `{$wpdb->prefix}kboard_board_content`.`uid`=`{$wpdb->prefix}kboard_board_option`.`content_uid`";
}
return $from;
}
add_filter('kboard_list_orderby', 'my_kboard_list_orderby', 10, 3);
function my_kboard_list_orderby($order, $board_id, $content_list){
if($board_id == '1'){
global $wpdb;
$order = "`{$wpdb->prefix}kboard_board_option`.`option_value` ASC";
}
return $order;
}
현재 option필드중 top이라는 이름이 'top'값을 가졌을때 먼저 보이게 하고 top값이 아닌 애들을 date순서대로 정렬하고 싶습니다.
kboard_option_top값은 글쓰기 또는 수정에서 체크박스로 삽입되는 상태입니다.
kboard_list_orderby에서 어떻게 진행해야 할지 막히고 있습니다.
감사합니다.
감사합니다.
해당방법은 알고 있으나 코드가 길어지는것을 원치 않습니다 ㅠㅠ
kboard_list_from
kboard_list_orderby
두개로는 할 수 없는 방법인가요?
option의 key값과 value값을 특정할 수 있다면 아래처럼 쓸 수 있을거 같습니다.
ORDER BY optionTable.value ASC, contentTable.date ASC
option의 key값과 value값을 어떻게 top이라는걸로 특정할 수 있을까요?
특정 입력 필드의 값이 있는 게시글을 상단에 고정하고 싶으신 건지요?
아래 링크의 2번 3번 답변을 참고하셔서 코드를 수정해보시겠어요?
https://www.cosmosfarm.com/threads/document/21839#document-answer-21869
고맙습니다.
감사합니다
궁금한것은 아래와 같습니다.
현재 option필드중 top이라는 이름이 'top'값을 가졌을때 먼저 보이게 하고 top값이 아닌 애들을 date순서대로 정렬하고 싶습니다.
from부분에서 content.uid = option.content_uid 이런식으로 모든 옵션 데이터를 가져오고 있습니다.
어떻게 해야 option테이블의 key값이 top이고 value값이 top인 애들을 1순위로 정렬할 수 있을까요?
안녕하세요~^^
ORDER BY절에 여러 개로 적용해서 정렬하실 수 있습니다.
구글에 "mysql order by 2개" 키워드로 검색하셔서
관련 자료들을 확인해보시겠어요?
고맙습니다.