1. 정확한 제품 또는 플러그인 이름
kboard 기본
2. 상세 내용
입력필드를 추가하여 순번을 입력받고 그 순번에 따라 리스트에 순서대로 추력하게 만들어 사용하려 합니다.
정렬까지 잘 되는데 데이터 입력을 하다보니 1~9까지는 정렬이 잘 되다가 10번이 1의 다음에 출력이 됩니다.
(1-10-2-3-4.... 순으로 출력됨)
문제를 찾아보니 순번으로 입력된 필드가 숫자가 아닌 텍스트로 처리되어서 그렇다는건 알았는데
입력필드에도 숫자만 입력받을 수 있는 필드는 없는것 같고, 별도의 옵션도 없는것 같아서 문의 드립니다.
어떻게 해결이 가능할까요?
3. 확인 가능한 상세 페이지 주소
4. 수정한 코드 내역 (있다면)
기본 스킨의 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 == '12'){
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 == '12'){
global $wpdb;
$meta_key = 'snum';
$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 == '12'){
global $wpdb;
$order = "`{$wpdb->prefix}kboard_board_option`.`option_value` ASC";
}
return $order;
}