1. 정확한 제품 또는 플러그인 이름
kboard 기본
2. 상세 내용
확장필드를 기준으로 정렬하고 싶습니다.
예로 확장필드 메타키 "year"를 등록하고 필드레이블 "연도"로 사용할 경우
해당 year를 기준으로 정렬하는 방법이 궁금합니다.
year는 2020, 2021, 2022 등 연도가 들어가게됩니다.
고수님들의 조언을 부탁드립니다.
안녕하세요~^^
새로운 필드를 추가하는 방법은 현재 스킨에 따라 다릅니다.
최신 입력필드 설정 기능이 적용되어 있는 스킨을 사용 중이시라면
아래의 링크를 참고해보시겠어요?
입력 필드 설정 기능을 지원하지 않는 스킨을 사용 중이시라면
아래의 링크를 참고해보세요.
워드프레스 게시판 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 = 'year';
$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 = 'year' 부분은 실제 추가하신 입력 필드의 메타키로 적용해보세요.
고맙습니다.