현재 kboard로 게시판을 만들고 Number의 출력을 $content->uid 로 해놨더니 게시판별로 고유번호가 부여되는게 아니라 모든 게시판 통틀어서 번호가 생성되더라고요...
이걸 게시판별로 고유번호 생성될수있게 변경이 가능한 부분인가요?
예를들면 A 게시판에 게시물이 1번부터 5번까지 생성되어 있으면 B 게시판에서 게시물 생성시에 6번부터 생성이됩니다.
B게시판에서도 1번부터 생성하고 싶습니다.
만약 kboard-list-uid를 이용하여 $list->index() 출력하게되면 정렬같은걸 할시에 게시물의 번호가 바껴서 사용못하고 있습니다.
안녕하세요~^^
KBoard 플러그인에서 게시글은 kboard_board_content 테이블에 모두 저장됩니다.
게시글 작성 시 게시글 uid값은 게시판에 상관없이 1씩 증가하도록 설정되어 있습니다.
저희도 좋은 방법이 있을지 연구해보겠습니다.
고맙습니다.
그럼 내부적으로 이부분 관리하려고 DB 테이블에 컬럼하나 추가하여 관리하려고합니다.
혹시 소스코드는 어느부분을 고쳐야 게시물 작성시 데이터 입력할 수 있을까요?
input 타입이 hidden인 입력 필드를 활용하시면 될 듯합니다.
1. 입력 필드 설정 기능을 지원하는 버전 및 스킨을 사용 중이시라면
워드프레스 관리자 -> KBoard -> 게시판 목록 -> 게시판 설정 -> 입력필드 설정 페이지에서
텍스트/숨김 필드를 추가해주세요.
메타키는 count로 입력해주시고 숨김 체크박스를 체크해주세요.
입력 필드 설정 기능을 지원하지 않는 버전 및 스킨을 사용 중이시라면
FTP로 접속해서 /wp-content/plugins/kboard/skin/사용중인스킨/editor.php 파일에
아래의 코드를 추가해보세요.
<input type="hidden" name="kboard_option_count" value="<?php echo $content->option->count?>">
2. 워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_action('kboard_pre_document_insert', 'my_kboard_pre_document_insert', 10, 4);
function my_kboard_pre_document_insert($content_uid, $board_id, $content, $board){
global $wpdb;
$select = "`content`.`uid`";
$from = "`{$wpdb->prefix}kboard_board_content` AS `content` LEFT JOIN `{$wpdb->prefix}kboard_board_option` AS `option` ON `content`.`uid`=`option`.`content_uid`";
$where = "`content`.`board_id`='{$board_id}' AND (`option`.`option_key`='count')";
$orderby = "`content`.`date` DESC";
$result = $wpdb->get_var("SELECT COUNT(*) FROM {$from} WHERE {$where} ORDER BY {$orderby}");
if(isset($_POST['kboard_option_count'])){
$_POST['kboard_option_count'] = $result + 1;
}
}
3. 아래의 코드를 표시하시고 싶은 위치에 추가해보세요.
<?php echo $content->option->count?>
고맙습니다.
자동으로하는 방법을 찾고있는데 알려주신 방법은 수동으로 매번 입력해야하는거네요.
답변 감사합니다.
안내해드린 코드는 수동으로 매번 입력하는 코드는 아닙니다.
텍스트/숨김 필드 설정에서 숨김 체크박스를 체크하시면
게시글 작성 페이지에서 표시되지 않습니다.
코드를 간략하게 설명을 드리자면
게시글 작성 페이지에 게시판마다 고유 번호를 등록하기 위한 필드를 추가합니다.
그리고 게시글을 작성할 때 추가한 입력 필드에 값이 있는 게시글의 수를 체크한 후
해당 입력 필드에 등록된 게시글의 수 + 1 만큼 저장됩니다.
이전 댓글에 안내해드린 코드 조금 수정해두었으니 확인해보시겠어요? (결과는 같습니다.)
고맙습니다.