리스트 페이지 카테고리에 게시글 수 오류

1. 정확한 제품 또는 플러그인 이름

kboard

 

2. 상세 내용

리스트페이지 카테고리에 게시글 수 를 나타냈습니다.

근데 게시글 수와 카테고리에 나타난 수가 맞지않아요 ㅠ

게시글 4개인데 카테고리엔 3이라고 뜨고 어떤건 1개인데  카테고리에 3개라고 뜨네요 ㅠ

 

3. 확인 가능한 상세 페이지 주소

 

 

4. 수정한 코드 내역 (있다면)

		<?php if($board->initCategory1()):?>
			<ul class="kboard-category-list swiper-wrapper">
				<li class="swiper-slide"><a href="<?php echo $url->set('category1', '')->set('pageid', '1')->set('target', '')->set('keyword', '')->set('mod', 'list')->tostring()?>"<?php if(!kboard_category1()):?> class="kboard-category-selected"<?php endif?>>ALL</a></li>
				<?php while($board->hasNextCategory()):?>
				<li class="swiper-slide">
					<a href="<?php echo $url->set('category1', $board->currentCategory())->set('pageid', '1')->set('target', '')->set('keyword', '')->set('mod', 'list')->toString()?>"<?php if(kboard_category1() == $board->currentCategory()):?> class="kboard-category-selected"<?php endif?>><?php echo $board->currentCategory()?><span>(<?php echo get_kboard_category_count($board->id, array('category1'=>$board->currentCategory()))?>)</span></a>
				</li>
				<?php endwhile?>
			</ul>
		<?php endif?>

이게 list-category-default.php입니다 ..

 

 

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    확인해보니 삭제된 글의 갯수까지 가져와서 그런 듯 합니다.

    KBoard는 기본적으로 삭제 시 DB에서 즉시 삭제되는 것이 아니라

    상태 컬럼으로 구분합니다.

     

    이전에 테마 functions.php 파일에 넣었던

    아래 코드를

    function get_kboard_category_count($board_id, $category){
    	global $wpdb;
    	
    	$board_id = intval($board_id);
    	$where[] = "`board_id`='$board_id'";
    	
    	if(isset($category['category1']) && $category['category1']){
    		$category1 = esc_sql($category['category1']);
    		$where[] = "`category1`='{$category1}'";
    	}
    	
    	if(isset($category['category2']) && $category['category2']){
    		$category2 = esc_sql($category['category2']);
    		$where[] = "`category2`='{$category2}'";
    	}
    	
    	return $wpdb->get_var("SELECT COUNT(*) FROM `{$wpdb->prefix}kboard_board_content` WHERE " . implode(' AND ', $where));
    }

    아래 코드로 변경해보시겠어요?

    function get_kboard_category_count($board_id, $category){
    	global $wpdb;
    	
    	$board_id = intval($board_id);
    	$where[] = "`board_id`='$board_id'";
    	
    	if(isset($category['category1']) && $category['category1']){
    		$category1 = esc_sql($category['category1']);
    		$where[] = "`category1`='{$category1}' AND `status` != 'trash'";
    	}
    	
    	if(isset($category['category2']) && $category['category2']){
    		$category2 = esc_sql($category['category2']);
    		$where[] = "`category2`='{$category2}' AND `status` != 'trash'";
    	}
    	
    	return $wpdb->get_var("SELECT COUNT(*) FROM `{$wpdb->prefix}kboard_board_content` WHERE " . implode(' AND ', $where));
    }

    고맙습니다.

  • 감사합니다 ! 알려주신대로 코드 추가하니 해결되었습니다!

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기