KBoard 세계지도 프랜차이즈 스킨 전체 목록 출력 및 계정 삭제 페이지 질문드립니다

안녕하세요 늘 빠른 피드백과 도움 주셔서 감사드립니다 

다름이 아니라 세계지도 프랜차이즈 스킨과 계정 삭제 관련하여 문의드릴게 있습니다 ! 

첫번째는 프렌차이즈 스킨에서 전체를 클릭했을 때, 나오는 목록들이 카테고리 순으로 지역별로 출력되길 원하는데 가능할까요? 가능하다면, 어떻게 하면 되는지 말씀해주시면 감사하겠습니다 :>

ex) 전체 , 서울 , 경기도, 강원도,  제주도 카테고리가 있을 시  아래와 같이 출력되길 원합니다 

서울점 매장1

서울점 매장2

서울점 매장3

경기도점 매장 1 

경기도점 매장 2

강원도점 매장 1

제주도점 매장 1

 

두번째는

현재 계정 삭제 버튼 클릭 시 팝업창이 뜨고, 계정 삭제 여부 확인 버튼을 누르면 바로 계정이 삭제되는 형태인데

이를 계정 삭제 버튼 클릭하면 비밀번호를 입력하는 페이지로 이동하여,

사용자가 입력한 비밀번호가 맞을 시 계정 삭제 여부 확인 팝업창이 뜨고, 확인 버튼을 누르면 계정이 삭제되게하는 방법이 있을까요?? 

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    kboard_list_orderby 필터를 활용하시면

    게시글 목록을 가져오는 DB쿼리문의 ORDER절을 편집할 수 있습니다.

    원하시는 카테고리 순으로 정렬되게 하시려면

    ORDER절에 field를 활용해보시겠어요?

    field에 대한 내용은 아래 링크를 확인해주세요.

    http://b1ix.net/93

     

    KBoard 주요 액션과 필터는 아래 링크를 확인 부탁드립니다.

    https://www.cosmosfarm.com/products/kboard/hooks

    고맙습니다.

  • 계정 삭제는 별도로 코드를 작성해주셔야 할 듯합니다.

    계정 삭제 시 비밀번호 입력을 받는 건

    저희도 좋은 방법이 있을지 연구해보겠습니다.

    고맙습니다.

  •  

    add_filter('kboard_list_orderby','my_kboard_list_orderby', 10, 3);
    function my_kboard_list_orderby($order, $board_id, $content_list){
    if(in_array($board_id, array('1', '2'))){
    $order = "`field(category1,'busan','daegu','seoul';
    }
    return $order;
    }
    

    SELECT DISTINCT *  FROM `wp_kboard_board_content` AS a JOIN `wp_kboard_board_option` AS b ON a.uid = b.content_uid  where a.board_id=3  order by field (a.category1, 'busan', 'daegu', 'seoul')

     

    보내주신 링크를 참고하여 아래와 같이 sql문을 짜보았고, 필터를 이용해 코드를 작성해봤는데 동작을 안하네요..

    혹시 어느부분이 잘못됬는지 알려주실 수 있으실까요?

     

    전체를 클릭했을 경우, 부산, 대구, 서울 카테고리순으로 프랜차이즈 지점 목록을 출력하고 싶습니다 ! 

     

  • 코드를 잘못 수정하신 듯합니다.

    올려주신 코드 대신

    아래의 코드로 교체해서 확인해보시겠어요?

    add_filter('kboard_list_orderby','kboard_list_orderby_20200923', 10, 3);
    function kboard_list_orderby_20200923($order, $board_id, $content_list){
    	if(!kboard_category1() && in_array($board_id, array('1', '2'))){
    		$order = "field(category1,'busan','daegu','seoul')";
    	}
    	return $order;
    }

    고맙습니다.

  • 친절한 답변 감사드립니다 ! 

    function.php에  작성해주신 코드로 변경해봤는데 동작이 안되네요 ㅠ.ㅠ

    function.php에 코드 삽입하는게 아닌가요 ??

  • 테마의 functions.php 파일에 코드를 추가하거나

    Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.

     

    코드 수정 후에는 브라우저의 캐시를 비우신 후에 확인해보세요.

    크롬 브라우저에서 강력 새로고침 단축키는 Ctrl + Shift + R 입니다.

    테마나 다른 플러그인에서 캐시 기능을 사용 중이라면

    비활성화한 후에도 확인해보셔야 할 듯합니다.

    고맙습니다.

  • 빠른 피드백 감사드립니다.

    테마의 functions.php 파일에 소스 추가, Code Snippets 플러그인 사용  이 두가지 방법을 사용해봤는데 

    다  작동이 안되서 다시 한번 살펴보았더니 게시판 id가 4더라구요..

    그래서 아래와 같이 코드를 수정해봤는데, 전체를 클릭하면 아무것도 출력이 안됩니다ㅠ

    혹시 아래의 코드 한번 봐주실 수 있으실까요 ?

     

    add_filter('kboard_list_orderby','kboard_list_orderby_20200923', 10, 3);
    function kboard_list_orderby_20200923($order, $board_id, $content_list){
    	if(!kboard_category1() $board_id =='4'){
    		$order = "field(category1,'busan','daegu,'seoul')";
    	}
    	return $order;
    }
    

     

  • 코드를 잘못 수정하신 듯합니다.

    !kboard_category1() $board_id =='4' 부분을

    !kboard_category1() && $board_id =='4'로 교체해보시겠어요?

     

    코드 수정 시 에러가 난다면

    디버그 모드를 활성화해서 에러 메시지를 확인해보실 수 있습니다.

    워드프레스 에러 확인하기 - 디버그 모드 활성화 방법

    고맙습니다.

이미지 사진은 imgur에 업로드한 뒤 링크 걸어주세요.
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기