안녕하세요
전에 서치하면서 프랜차이즈 스킨 오름차순에 관련하여 질문을 드렸었는데
자꾸 오류가 나서요
어떻게 진행되는게 맞는건지 처음부터 코드와 함께 설명 부탁드립니다.
감사합니다.
안녕하세요~^^
새로운 질문이 아닌 이어지는 질문이라면
이전 글의 댓글로 계속해서 남겨주시길 부탁드립니다.
1:1 게시판이 아닌 공개된 커뮤니티라 내용을 상세하게 올려주시는 게 좋습니다.
또한 저희가 과거 문의를 전부 기억할 수도 없기도 하고요.
아래의 질문에서 이어지는 질문인지요?
https://www.cosmosfarm.com/threads/document/53547
kboard_list_orderby 필터 관련해서는 저희 쪽 테스트 서버에서는 별 다른 문제를 확인하지 못했습니다.
오류가 나는 부분은 어떤 부분인지요?
문제가 되는 상황을 좀 더 구체적으로 설명해주시겠어요?
고맙습니다.
혹시 테스트진행은 저희 홈페이지를 기준으로 해보신건가요?
저희 페이지에서는 전에 DB를 수정해야한다고 해서 수정해봤는데도 전혀 정상적으로 되지 않네요.
테스트는 정상적으로 나오신다고 하셨는데 직접 저희 홈페이지에서 테스트후 확인이 가능하실지요
저희쪽 테스트 결과에서는
정상적으로 코드가 잘 동작합니다.
사용한 코드는 올려주신 코드에서 게시판 ID만 변경한 아래와 같은 코드입니다.
add_filter('kboard_list_orderby', 'my_kboard_list_orderby', 10, 3);
function my_kboard_list_orderby($order, $board_id, $content_list){
if($board_id == '2'){
$order = "`member_display` ASC";
}
return $order;
}
다른 게시판 ID로 변경하셔서 코드가 동작하는지 체크해보시거나
게시글 DB를 살펴보셔야 원인을 파악할 수 있을 것 같습니다.
phpMyAdmin 플러그인을 사용하시면 DB를 쉽게 보실 수 있습니다.
phpMyAdmin 사용법은 아래 링크를 참고해보시겠어요?
고맙습니다.
지금 정렬된 '지점명'리스트를 봐주시면 뒤죽박죽으로 되어있습니다.
8개씩만 배열되어있습니다.
1 ~ 8번 오름차순 배열 후 다시 9번부터 ㄱ 으로 배열되는것 확인해주세요
한글에서 오류가 나있는거 같네요.
영어로는 오름차순정렬이 정상적으로 되나,
숫자로 입력하였을때 지점명순으로 정렬이 안되고 있네요.
add_filter('kboard_list_orderby', 'my_kboard_list_orderby', 10, 3);
function my_kboard_list_orderby($order, $board_id, $content_list){
if($board_id == '7'){
$order = "`member_display` ASC";
}
return $order;
}
이렇게 입력했었습니다.
functions.php 파일에 입력되어있는 코드를
코드 스니펫으로 한 번 올려주시겠어요?
고맙습니다.
안녕하세요
현재 지점등록은 잘 작동됩니다.
하지만 functions.php를 오름차순으로 수정해도 적용이 제대로 되지않네요..
이부분 다시한번 확인 부탁드립니다..
db를 직접 건드리는 부분은 제가 너무 어렵네요...
설명 혹시 부탁드려도 될까요?
현재 코드를 삭제하고 다시 추가하였으나 정렬이 아예 되지않고있습니다.
사이트 : https://soosung2021.wpcomstaging.com/agency/
확인 부탁드립니다.
저희 쪽 테스트 서버에서는 정상적으로 동작하는 것을 확인했습니다.
데이터베이스(DB)에 접속이 가능하시다면
테이블 캐릭터셋도 확인해보시겠어요?
member_display 컬럼의 데이터정렬방식이 utf8mb4_unicode_ci 이런 식으로 적용되어 있는지도 확인해보셔야 할 듯합니다.
DB쿼리문의 ORDER BY 절에 convert 함수 사용도 고려해보세요.
구글에 "mysql order by convert" 키워드로 검색해보시면 관련 자료들을 참고해보실 수 있습니다.
고맙습니다.
https://soosung2021.wpcomstaging.com/agency/
위의 사이트에서 보시는것과 같이 대리점을 기준으로 하였을때
오름차순 정렬이 뒤죽박죽으로 되어있습니다..
서버를 열어 wp-content/plugins/ocean-frenchise/functions.php의 하단부분에
add_filter('kboard_list_orderby', 'my_kboard_list_orderby', 10, 3);
function my_kboard_list_orderby($order, $board_id, $content_list){
if($board_id == '6'){
$order = "`member_display` ASC";
}
return $order;
}
위의 코드대로 삽입되어있습니다.
하지만 대리점을 기준으로 전혀 오름차순 정렬이 되어있지않아 문의드립니다.
확인 결과 DB의 문자셋이 utf8mb4_unicode_ci 아닌
다른 것으로 설정되어 있어 한글이 깨지는 상태였고
한글 정렬이 적용되지 않는 문제였습니다.
이미 완성된 상태에서 문자셋을 수정하면
예상치 못한 문제가 발생할 수 있기에
새 게시판을 개설하여 날짜 정렬을 통해
가나다순으로 정렬해두었습니다.
이후 지점 추가 업로드 시에
서버단에서 문자셋을 수정하시기 어렵다면
KBoard 대량업로드 기능을 이용하여 업로드 하시면 될 듯 합니다.
고맙습니다.