https://imgur.com/a/FiIv3Ql
위 링크의 첫번째 이미지 처럼 게시판 왼쪽에 계층형 트리를 목록형으로 출력하고 싶습니다.
두번째 그림은 계층형 카테고리를 셋팅한거구요.
세번째 그림은 테스트코드를 작성해보았습니다.
네 번째 그림은 결과인데요. 이상하게 테스트2 카테고리 밑에 ㅁㄴㅇ나와야 하는데 첫번째 아이템의 자식들이 반복됩니다.
첫번째 이미지처럼 계층형 카테고리를 트리형태로 게시판 왼쪽에 목록으로 출력하고 싶은데 어떻게 해야 하나요?
추가적으로 각 카테고리별 게시물수도 표시하고 싶습니다.
안녕하세요~^^
올려주신 내용처럼 카테고리 계층형을 변경하시려면
wp-content/plugins/kboard/skin/사용중인 스킨/list-category-tree-tab.php 파일 중 아래 코드 부분을
<div class="kboard-tree-category-wrap">
<?php $tree_category_list = $board->tree_category->getCategoryItemList()?>
<div class="kboard-search-option-wrap-<?php echo $board->tree_category->depth?> kboard-search-option-wrap type-tab">
<input type="hidden" name="kboard_search_option[tree_category_<?php echo $board->tree_category->depth?>][key]" value="tree_category_<?php echo $board->tree_category->depth?>">
<input type="hidden" name="kboard_search_option[tree_category_<?php echo $board->tree_category->depth?>][value]" value="<?php echo $board->tree_category->getCategoryNameWithDepth($board->tree_category->depth)?>">
<ul class="kboard-tree-category">
<li<?php if(!$board->tree_category->getCategoryNameWithDepth($board->tree_category->depth)):?> class="kboard-category-selected"<?php endif?>><a href="#" onclick="return kboard_tree_category_search('<?php echo $board->tree_category->depth?>', '')"><?php echo __('All', 'kboard')?></a></li>
<?php foreach($tree_category_list as $item):?>
<li<?php if($board->tree_category->getCategoryNameWithDepth($board->tree_category->depth) == $item['category_name']):?> class="kboard-category-selected"<?php endif?>><a href="#" onclick="return kboard_tree_category_search('<?php echo $board->tree_category->depth?>', '<?php echo $item['category_name']?>')"><?php echo $item['category_name']?></a></li>
<?php endforeach?>
</ul>
</div>
<?php foreach($board->tree_category->getSelectedList() as $key=>$category_name):?>
<?php $tree_category_list = $board->tree_category->getCategoryItemList($category_name)?>
<?php if($tree_category_list):?>
<div class="kboard-search-option-wrap-<?php echo $board->tree_category->depth?> kboard-search-option-wrap type-tab">
<input type="hidden" name="kboard_search_option[tree_category_<?php echo $board->tree_category->depth?>][key]" value="tree_category_<?php echo $board->tree_category->depth?>">
<input type="hidden" name="kboard_search_option[tree_category_<?php echo $board->tree_category->depth?>][value]" value="<?php echo $board->tree_category->getCategoryNameWithDepth($board->tree_category->depth)?>">
<ul class="kboard-tree-category">
<li<?php if(!$board->tree_category->getCategoryNameWithDepth($board->tree_category->depth)):?> class="kboard-category-selected"<?php endif?>><a href="#" onclick="return kboard_tree_category_search('<?php echo $board->tree_category->depth?>', '')"><?php echo __('All', 'kboard')?></a></li>
<?php foreach($tree_category_list as $item):?>
<li<?php if($board->tree_category->getCategoryNameWithDepth($board->tree_category->depth) == $item['category_name']):?> class="kboard-category-selected"<?php endif?>><a href="#" onclick="return kboard_tree_category_search('<?php echo $board->tree_category->depth?>', '<?php echo $item['category_name']?>')"><?php echo $item['category_name']?></a></li>
<?php endforeach?>
</ul>
</div>
<?php endif?>
<?php endforeach?>
</div>
아래 코드로 변경해보시겠어요?
<div class="kboard-tree-category-wrap">
<?php $tree_category_list = $board->tree_category->getCategoryItemList()?>
<div class="kboard-search-option-wrap-<?php echo $board->tree_category->depth?> kboard-search-option-wrap type-tab">
<input type="hidden" name="kboard_search_option[tree_category_1][key]" value="tree_category_1">
<input type="hidden" name="kboard_search_option[tree_category_1][value]" value="<?php echo $board->tree_category->getCategoryNameWithDepth('1')?>">
<ul class="kboard-tree-category">
<li <?php if(!$board->tree_category->getCategoryNameWithDepth($board->tree_category->depth)):?> class="kboard-category-selected"<?php endif?>><a href="#" onclick="return kboard_tree_category_search('<?php echo $board->tree_category->depth?>', '')"><?php echo __('All', 'kboard')?></a></li>
<?php foreach($tree_category_list as $item):?>
<li <?php if($board->tree_category->getCategoryNameWithDepth('1') == $item['category_name']):?> class="kboard-category-selected"<?php endif?>>
<a href="#" onclick="return kboard_tree_category_search('1', '<?php echo $item['category_name']?>')"><?php echo $item['category_name']?></a>
<?php foreach($board->tree_category->getSelectedList() as $key=>$category_name):?>
<?php $tree_category_list = $board->tree_category->getCategoryItemList($category_name)?>
<?php if($tree_category_list && $category_name == $item['category_name']):?>
<div class="kboard-search-option-wrap-<?php echo $board->tree_category->depth?> kboard-search-option-wrap type-tab">
<input type="hidden" name="kboard_search_option[tree_category_2][key]" value="tree_category_2">
<input type="hidden" name="kboard_search_option[tree_category_2][value]" value="<?php echo $board->tree_category->getCategoryNameWithDepth('2')?>">
<ul class="kboard-tree-category">
<?php foreach($tree_category_list as $item):?>
<li <?php if($board->tree_category->getCategoryNameWithDepth('2') == $item['category_name']):?> class="kboard-category-selected"<?php endif?>>
<a href="#" onclick="return kboard_tree_category_search('<?php echo $board->tree_category->depth?>', '<?php echo $item['category_name']?>')"><?php echo $item['category_name']?></a>
</li>
<?php endforeach?>
</ul>
</div>
<?php endif?>
<?php endforeach?>
</li>
<?php endforeach?>
</ul>
</div>
</div>
위 코드는 1단 2단까지만 출력되도록 구성되어 있습니다.
이후 카테고리의 CSS는 적절히 조정하셔서 사용하시면 될 듯 합니다.
카테고리별 게시글 수는 아래 링크를 참고해주시겠어요?
https://www.cosmosfarm.com/threads/document/13544
고맙습니다.