안녕하세요.
워드프레스에 게시판 플러그인 KBoard를 사용하고 있는 유저입니다.
KBoard 페이징 오류 문제 때문에 이렇게 게시판에 글을 남기게 되었습니다.
* KBOARD
- 스킨 : default
- 설정 : 기본
- Database 조작 한적 없음.
- ftp 에 해당 kboard 내부적으로 코드를 수정한적이 없음.
- 이러한 문제가 발생되어, 여러번 다시 설치해보았지만, 또같은 에러 발생.
1. 110 개의 글 입력시 아래의 페이징 화면이 도출됨.
ex) [처음] [<<] [11]
2. 11 번째의 페이지 화면에 보이는게시글은 , 맨 처음 입력한 1~10번의 게시글 이보임.
3. 여기서 11번째의 페이지 화면에있는 1번부터 10번의 글을 차례대로 삭제
ex) 1번삭제 -> 2번 삭제 -> 3번삭제 ... -> 8번삭제 -> 9번삭제 -> 10번 삭제
4. 3번의 글처럼 번호 순 차례대로 삭제후 화면이 상세에서 LIST 페이지로 화면이
전환된후 아래의 예시처럼 화면에 도출됨.
ex) [ 1 ]
- 이 상태에서 새로고침 해도 또같은 페이지 발생.
- 이 상태를 벗어나기위해서는 해당 페이지에 클릭해서 다시 들어가야됨.
감사합니다.
안녕하세요.
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_action('kboard_skin_footer', 'my_kboard_skin_footer', 10, 1);
function my_kboard_skin_footer($board_builder){
$list = $board_builder->getList();
$url = new KBUrl();
$page_id = isset($_GET['pageid']) ? $_GET['pageid'] : '';
if($page_id > '1' && !count($list->getList())){
wp_redirect(get_permalink() . '?pageid=1&mod=list');
exit;
}
}
기존에 있던 페이지에 게시글이 없을 때 마지막 페이지로 이동하게 하려면
아래의 코드를 추가해보시겠어요?
add_action('kboard_skin_footer', 'my_kboard_skin_footer1', 10, 1);
function my_kboard_skin_footer1($board_builder){
global $wpdb;
$list = $board_builder->getList();
$rpp = $list->rpp;
$total = $wpdb->get_var("SELECT COUNT(*) FROM {$wpdb->prefix}kboard_board_content WHERE `board_id`='1' AND `parent_uid`='0' AND `notice`='' AND (`status`='' OR `status` IS NULL OR `status`='pending_approval')");
$page_id = ceil($total / $list->rpp);
if($page_id > 1 && count($list->getList()) == 0){
wp_redirect(get_permalink() . '?pageid='.$page_id.'&mod=list');
exit;
}
}
고맙습니다.