워드프레스 KBoard(케이보드) 리스트를 원하는 필드로 정렬하는 법을 알고싶습니다.
input type date로 받아 작성한 게시물의 항목을 날짜대로 정렬 할 수 있는지 알고싶습니다.
https://www.cosmosfarm.com/threads/document/6536
위의 게시물을 봐도 이해가 잘 되지 않는데 자세한 설명 부탁드리겠습니다..
안녕하세요~^^
새로운 필드를 추가하는 방법은 현재 스킨에 따라 다릅니다.
최신 입력필드 설정 기능이 적용되어 있는 스킨을 사용 중이시라면
아래의 링크를 참고해보시겠어요?
입력 필드 설정 기능을 지원하지 않는 스킨을 사용 중이시라면
아래의 링크를 참고해보세요.
워드프레스 게시판 KBoard(케이보드) 새로운 입력 필드 추가 방법 (커스터마이징)
입력 필드를 추가하셨다면
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
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_where', 'my_kboard_list_where', 10, 3);
function my_kboard_list_where($where, $board_id, $content_list){
if($board_id == '1'){
global $wpdb;
$meta_key = 'sort';
$where .= " AND (`option_key`='{$meta_key}' )";
}
return $where;
}
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;
}
위의 코드에서 $board_id == '1' 부분은 실제 게시판 id로 적용해보세요.
$meta_key = 'sort' 부분은 실제 추가하신 입력 필드의 메타키로 적용해보세요.
고맙습니다.