안녕하세요
게시판을 여러개 만들고, 일반 사용자들에게 게시판 목록을 보여주려고 합니다.
게시판 목록을 보여줄 때 게시판 이름과 더불어 게시판의 설명등도 보여주려고 합니다.
관리자페이지에 있는 게시판목록을 모양을 변경하고 설명을 추가해서 형태입니다.
이런것이 가능할까요?
감사합니다.
안녕하세요~^^
워드프레스 관리자 페이지에서 표시하는 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번 게시판입니다.';
고맙습니다.