kboard 게시판의 목록 보기 및 부가 정보 표시

안녕하세요

게시판을 여러개 만들고, 일반 사용자들에게 게시판 목록을 보여주려고 합니다.

게시판 목록을 보여줄 때 게시판 이름과 더불어 게시판의 설명등도 보여주려고 합니다.

관리자페이지에 있는 게시판목록을 모양을 변경하고 설명을 추가해서 형태입니다.

이런것이 가능할까요?

감사합니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    워드프레스 관리자 페이지에서 표시하는 KBoard 게시판 목록은

    WP_List_Table 클래스를 활용하고 있습니다.

     

    WP_List_Table 클래스에 대한 자세한 내용은

    아래의 링크를 참고해보세요.

    https://codex.wordpress.org/Class_Reference/WP_List_Table

     

     KBoard 게시판 목록을 표시하는 숏코드를 작성해봤습니다.

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에

    아래의 코드를 추가해보세요.

    add_shortcode('kboard_board_list', 'kboard_board_list');
    function kboard_board_list(){
    	$html = '';
    	
    	$kboard_list = new KBoardList();
    	$kboard_list->rpp = 100; // 표시될 게시판 개수
    	$kboard_list->page = '1';
    	$kboard_list->initWithKeyword('');
    	
    	ob_start();
    	?>
    	<table>
    		<tr><th>게시판명</th></tr>
    		<?php foreach($kboard_list->resource as $kboard):?>
    		<tr><td><?php echo $kboard->board_name?></td></tr>
    		<?php endforeach?>
    	</table>
    	<?php
    	$html = ob_get_clean();
    	return $html;
    }

    그 다음, 아래의 숏코드를 페이지나 위젯 등 원하는 영역에 추가해보세요.

    [kboard_board_list]

    고맙습니다.

  • 안녕하세요

    답변 감사드립니다.

    부가적으로 각 게시판에 설명을 추가할 수 있을까요?

    감사합니다.

     

  • 설명을 추가하시려면

    아래의 숏코드를 활용해보시겠어요?

    add_shortcode('kboard_board_list', 'kboard_board_list');
    function kboard_board_list(){
    	$html = '';
    	
    	$kboard_list = new KBoardList();
    	$kboard_list->rpp = 100; // 표시될 게시판 개수
    	$kboard_list->page = '1';
    	$kboard_list->initWithKeyword('');
    	
    	$board_list = array();
    	foreach($kboard_list->resource as $kboard){
    		$board_list[$kboard->uid]['name'] = $kboard->board_name;
    	}
    	$board_list['1']['description'] = '1번 게시판입니다.';
    	$board_list['2']['description'] = '2번 게시판입니다.';
    	
    	ob_start();
    	?>
    	<table>
    		<tr>
    			<th>게시판명</th><th>설명</th>
    		</tr>
    		<?php foreach($board_list as $board):?>
    		<tr>
    			<td><?php echo isset($board['name']) ? $board['name'] : ''?></td>
    			<td><?php echo isset($board['description']) ? $board['description'] : ''?></td>
    		</tr>
    		<?php endforeach?>
    	</table>
    	<?php
    	$html = ob_get_clean();
    	return $html;
    }

    위의 코드에서 $board_list['1']['description'] 쪽과 $board_list['2']['description'] 쪽의 숫자는

    실제 게시판 id로 적용해보세요.

    게시판이 더 많다면 아래처럼 활용해보세요.

    $board_list['1']['description'] = '1번 게시판입니다.';
    $board_list['2']['description'] = '2번 게시판입니다.';
    $board_list['3']['description'] = '3번 게시판입니다.';
    $board_list['4']['description'] = '4번 게시판입니다.';
    $board_list['5']['description'] = '5번 게시판입니다.';

    고맙습니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요