안녕하세요,
한 게시판의 tree-select 형식의 계층형 카테고리를 워드프레스의 다른 페이지에서 출력할 방법이 있는지 궁금합니다.
안녕하세요~^^
남겨주신 내용만으로는 어떤 내용인지
정확히 이해하기가 어렵습니다.
조금 더 자세히 작성해주시겠어요?
고맙습니다.
A게시판에 계층형 카테고리로 지역을 추가했습니다.
서을 - 강남, 서울 - 종로, 경기 - 수원 .... 이런식입니다.
케이보드 리스트페이지에는 불러오는 코드가 있어서 쉽게 설정했습니다.
이 지역 카테고리 데이터를 워드프레스의 다른페이지에 그대로 보여주려고합니다.
별도의 '지역 목록' 페이지에 접속하면 A게시판의 계층형 카테고리로 설정한 지역 목록이 tree-select 형식으로 나오게끔 하려합니다.
특정 카테고리의 리스트만 다른 페이지에 표시하는 것은
현재 제공되고 있는 기능이 아닙니다.
다만 게시판의 형태를 유지하며 보여주고자 하면
iframe을 이용해볼 수도 있을 듯 합니다.
게시판 관리->고급설정->고급 사용자용 고유주소 사용하기를 하시면
아이프레임에 넣을 수 있는 링크가 표시됩니다.
해당 링크를 클릭하면 게시판이 표시되는데
원하시는 카테고리를 클릭한 후 표시된 주소를 iframe 주소에 입력해보시겠어요?
iframe 에 관한 가이드는
아래 링크에서 확인하실 수 있습니다.
https://developer.mozilla.org/ko/docs/Web/HTML/Element/iframe
게시판 형태가 아닌 다른 형태를 원하신다면
wpdb를 이용, 쿼리문을 작성하여 데이터를 불러오셔야 합니다.
wpdb에 관한 가이드는
아래 링크에서 확인하실 수 있습니다.
https://developer.wordpress.org/reference/classes/wpdb/
고맙습니다.
$kmap_category_query= "
SELECT a.value
FROM `wp_kboard_board_meta` AS a
WHERE a.board_id = 8 AND a.key = 'tree_category'
";
$kmap_category_results = $wpdb->get_results($kmap_category_query, ARRAY_A);
참고하여 이런식으로 불러왔더니 print_r로 출력하면 아래와 같이 나옵니다. Array ( [0] => Array ( [value] => a:246:{i:0;a:3:{s:2:"id";s:13:"62f0d6bff6f6c";s:13:"category_name";s:6:"서울";s:9:"parent_id";N;}i:1;a:3:{s:2:"id";s:13:"62f0f170b7d5a";s:13:"category_name";s:6:"강남";s:9:"parent_id";s:13:"62f0d6bff6f6c";}i:2;a:3:{s:2:"id";s:13:"62f0f179b7d5b";s:13:"category_name";s:6:"강동";s:9:"parent_id";s:13:"62f0d6bff6f6c";}i:3;a:3:{s:2:"id";s:13:"62f0f17eb7d5c";s:13:"category_name";s:6:"강북";s:9:"parent_id";s:13:"62f0d6bff6f6c";}i:4;a:3:{s:2:"id";s:13:"62f0f182b7d5d";s:13:"category_name";s:6:"강서";s:9:"parent_id";s:13:"62f0d6bff6f6c";}i:5;a:3:{s:2:"id";s:13:"62f652c4238c8";s:13:"category_name";s:6:"관악";s:9:"parent_id";s:13:"62f0d6bff6f6c";}i:6;a:3:{s:2:"id";s:13:"62f652d3238c9";s:13:"category_name";s:6:"광진";s:9:"parent_id";s:13:"62f0d6bff6f6c";}i:7;a:3:{s:2:"id";s:13:"62f652d8238ca";s:13:"category_name";s:6:"구로";s:9:"parent_id";s:13:"62f0d6bff6f6c";}i:8;a:3:{s:2:"id";s:13:"62f652da238cb";s:13:"category_name";s:6:"금천";s:9:"parent_id";s:13:"
깔끔한 배열 형태로 가져오려면 어떻게 해야 하는지요?
직렬화된 데이터를 배열로 확인하시려면
unserialize 함수를 사용하시면 됩니다.
받아오신 데이터를 $a 라는 변수에 담았을 때
print_r(unserialize($a[0][value]));
과 같이 하시면 직렬화된 데이터를 배열로 확인하실 수 있습니다.
unserialize에 관한 가이드는 아래 링크에서 확인하실 수 있습니다.
https://www.php.net/manual/en/function.unserialize.php
고맙습니다.