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번 게시판입니다.';

    고맙습니다.

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