안녕하세요~
게시판 항목 정렬을 최신순이 아니라 가나다순을 기본으로 변경 할 수 있을까여?
가나다순이 항상 선택되어 노출되도록 하는 것을 말씀드려요~
확인 부탁드립니다~
안녕하세요~^^
kboard_list_orderby 필터를 활용하시면 게시판 리스트 정렬 순서를 바꿀 수 있습니다.
KBoard 플러그인 주요 액션, 필터에 대한 자세한 내용은
아래의 링크를 참고해보세요.
https://www.cosmosfarm.com/products/kboard/hooks
고맙습니다.
오..제가 훅을 직접적으로 하지는 못하여서요;
기존 등록된 내용들을 보니 기존 업데이트나 다른 정렬들에 대한 방법들은 확인해서 응용해서 해봤는데 에러가 나서요 ;;ㅠㅠ
가나다 순일 경우는 어찌해야하는지 좀 부탁드립니다~
list.php에서 첫번째로 변경은 가능하나 function 에서 if문을 어떻게 해야하는지 좀 부탁드립니다~~~
아 그리고 단순 순서가 아니라 기본적으로 최신순이 먼저 선택되어서 노출이 되는형태인데
기본이 가나다순으로 선택되서 노출되어지길 원하는 것입니다~
안녕하세요.
KBoard 플러그인을 원하시는 대로 커스텀을 하시려면
어느 정도 프로그래밍에 대한 지식이 있어야 합니다.
게시글 목록 페이지에서 제목을 기준으로 가나다순으로 정렬하고 싶으신 건지요?
사용 중이신 스킨에 따라 코드가 조금 다를 수 있기 때문에
Default 스킨을 기준으로 안내해드리겠습니다.
1. FTP로 접속해서 /wp-content/plugins/kboard/skin/사용중인스킨/list.php 파일에
아래의 코드를 찾아서
<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="best"<?php if($list->getSorting() == 'best'):?> selected<?php endif?>><?php echo __('Best', 'kboard')?></option>
<option value="viewed"<?php if($list->getSorting() == 'viewed'):?> selected<?php endif?>><?php echo __('Viewed', 'kboard')?></option>
<option value="updated"<?php if($list->getSorting() == 'updated'):?> selected<?php endif?>><?php echo __('Updated', 'kboard')?></option>
</select>
아래의 코드로 교체해보세요.
<select name="kboard_list_sort" onchange="jQuery('#kboard-sort-form-<?php echo $board->id?>').submit();">
<option value="korean_alphabet"<?php if($list->getSorting() == 'korean_alphabet'):?> selected<?php endif?>>가나다순</option>
<option value="newest"<?php if($list->getSorting() == 'newest'):?> selected<?php endif?>><?php echo __('Newest', 'kboard')?></option>
<option value="best"<?php if($list->getSorting() == 'best'):?> selected<?php endif?>><?php echo __('Best', 'kboard')?></option>
<option value="viewed"<?php if($list->getSorting() == 'viewed'):?> selected<?php endif?>><?php echo __('Viewed', 'kboard')?></option>
<option value="updated"<?php if($list->getSorting() == 'updated'):?> selected<?php endif?>><?php echo __('Updated', 'kboard')?></option>
</select>
2. 워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보세요.
add_filter('kboard_list_default_sorting', 'kboard_list_default_sorting_2020_03_10', 10, 3);
function kboard_list_default_sorting_2020_03_10($default_sorting, $board_id, $list){
if($board_id == '1'){ // 실제 게시판 id로 적용해주세요.
$default_sorting = 'korean_alphabet';
}
return $default_sorting;
}
add_filter('kboard_list_orderby', 'kboard_list_orderby_2020_03_10', 10, 3);
function kboard_list_orderby_2020_03_10($order, $board_id, $content_list){
if($board_id == '1'){ // 실제 게시판 id로 적용해주세요.
// 제목 기준으로 가나다순 오름차순으로 정렬합니다.
$order = "`title` ASC";
}
return $order;
}
위의 코드에서 $board_id == '1' 부분은 실제 게시판 id로 모두 적용해주세요.
ASC 부분을 DESC로 교체하시면 내림차순으로 정렬하실 수 있습니다.
코드 수정이 어려우시다면 유료 기술지원을 요청해주시길 부탁드립니다.
고맙습니다.
KBoard 플러그인 정렬 기능은
브라우저 쿠기, 세션 기능을 활용하고 있기 때문에
해당 코드 적용 후 브라우저의 데이터를 지우신 후 확인해보시겠어요?
또는 크롬 브라우저 시크릿 모드로 확인해보세요.
고맙습니다.
네~ 좀 더 응용해서 다 적용했습니다 :)
항상 감사합니다!