게시판에 추가한 sort option 적용이 잘 안됩니다

1. 정확한 제품 또는 플러그인 이름

 

 

2. 상세 내용

https://www.cosmosfarm.com/threads/document/35609

제가 질문하고 싶은 내용과 유사한 부분이 많아서 참고하여 코드를 작성했습니다.

 

1. 게시판에 분류를 추가하기 위해

kboard-sort 부분에 option value 추가하였습니다. (정상적으로 옵션 추가가 되었음)

<div class="kboard-sort">
					<form id="kboard-sort-form-<?php echo $board->id?>" method="get" action="<?php echo $url->toString()?>">
						<?php echo $url->set('pageid', '1')->set('category1', '')->set('category2', '')->set('target', '')->set('keyword', '')->set('mod', 'list')->set('kboard_list_sort_remember', $board->id)->toInput()?>
						<select name="kboard_list_sort" onchange="jQuery('#kboard-sort-form-<?php echo $board->id?>').submit();">
							<option value="newest"<?php if($list->getSorting() == 'newest'):?> selected<?php endif?>><?php echo __('Newest', 'kboard')?></option>
							<option value="viewed"<?php if($list->getSorting() == 'viewed'):?> selected<?php endif?>><?php echo __('Viewed', 'kboard')?></option>
							<option value="가까운 마감날짜 순"<?php if(isset($_GET['kboard_list_sort'])&&$_GET['kboard_list_sort'] == '가까운 마감날짜 순'):?> selected<?php endif?>>가까운 마감날짜 순</option>
							<!--<option value="updated"<?php if($list->getSorting() == 'updated'):?> selected<?php endif?>><?php echo __('Updated', 'kboard')?></option>-->
						</select>
					</form>
				</div>

 

2. 가까운 마감날짜 순을 클릭하면 가까운 날짜로 부터 먼 날짜까지 순서대로 정렬이 되어 나타나는 것을 원합니다.

테마 function.php에 해당 코드를 추가하였습니다. 제 게시판은 6번이고, 필드 추가를 한 메타키가 enddate라서 그 부분을 수정해보았습니다.

참고한 글에는 array 부분이 여러개가 되어있던데 저는 하나만 추가해서 저렇게 하나만 써도 되는건지...

이렇게 코드 수정을 하고 '가까운 마감날짜 순' 옵션을 클릭하면 아무 글도 뜨지 않습니다..

어떤 부분에서 오류인지 체크 해주실 수 있을까요?

 

add_filter('kboard_list_from', 'my_kboard_list_from', 10, 3);
function my_kboard_list_from($from, $board_id, $content_list){
	global $wpdb;
	if($board_id == '6'){ // 실제 게시판 id로 적용해주세요.
		$from .= " 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){
	global $wpdb;
	
	$option_key = 'enddate';
	$kboard_list_sort = isset($_GET['kboard_list_sort'])?$_GET['kboard_list_sort']:'';
	if(in_array($kboard_list_sort, array('가까운 마감날짜 순')) && $board_id == '6'){ // 실제 게시판 id로 적용해주세요.
		$where .= " AND (`option_key`='{$option_key}' AND `option_value`='{$kboard_list_sort}')";
	}
	
	return $where;
}

 

 

 

3. 확인 가능한 상세 페이지 주소

 

 

4. 수정한 코드 내역 (있다면)

 

 

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기