안녕하세요~
게시판 항목 정렬을 최신순이 아니라 가나다순을 기본으로 변경 할 수 있을까여?
가나다순이 항상 선택되어 노출되도록 하는 것을 말씀드려요~
확인 부탁드립니다~
네~ 좀 더 응용해서 다 적용했습니다 :)
항상 감사합니다!
KBoard 플러그인 정렬 기능은
브라우저 쿠기, 세션 기능을 활용하고 있기 때문에
해당 코드 적용 후 브라우저의 데이터를 지우신 후 확인해보시겠어요?
또는 크롬 브라우저 시크릿 모드로 확인해보세요.
고맙습니다.
안녕하세요.
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로 교체하시면 내림차순으로 정렬하실 수 있습니다.
코드 수정이 어려우시다면 유료 기술지원을 요청해주시길 부탁드립니다.
고맙습니다.
아 그리고 단순 순서가 아니라 기본적으로 최신순이 먼저 선택되어서 노출이 되는형태인데
기본이 가나다순으로 선택되서 노출되어지길 원하는 것입니다~
오..제가 훅을 직접적으로 하지는 못하여서요;
기존 등록된 내용들을 보니 기존 업데이트나 다른 정렬들에 대한 방법들은 확인해서 응용해서 해봤는데 에러가 나서요 ;;ㅠㅠ
가나다 순일 경우는 어찌해야하는지 좀 부탁드립니다~
list.php에서 첫번째로 변경은 가능하나 function 에서 if문을 어떻게 해야하는지 좀 부탁드립니다~~~
안녕하세요~^^
kboard_list_orderby 필터를 활용하시면 게시판 리스트 정렬 순서를 바꿀 수 있습니다.
KBoard 플러그인 주요 액션, 필터에 대한 자세한 내용은
아래의 링크를 참고해보세요.
https://www.cosmosfarm.com/products/kboard/hooks
고맙습니다.