워드프레스 게시판 KBoard(케이보드) 사용중입니다.
일단 옵션키, 옵션밸류를 써서 입력하는 것은 해봤고 잘 됐습니다..
그런데 제가 하고 싶은건 '새로 추가한 필드에 입력한 값들'이
wp_kboard_board_option 테이블이 아닌 wp_kboard_board_content에 저장되는 것을 원합니다. (혹은 다른 테이블)
임의로 memo1, memo2, memo3, memo4, memo5 필드를 추가해서 입력해봤는데요
글 쓰는 건 성공해도 phpmyadmin으로 mysql을 보면 필드에 값이 채워지지 않았더라구요
사용법이 잘못된 것 같은데 조언 좀 해주시면 감사하겠습니다.
아래는 코드의 일부분으로 제가 추가한 부분입니다.
<div class="kboard-attr-row">
<label class="attr-name" for="kboard-input-tel-display"><?php echo __('Phone number', 'kboard')?></label>
<div class="attr-value"><input type="text" id="kboard-input-tel-display" name="kboard_option_tel" value="<?php echo $content->option->tel?>" placeholder="<?php echo __('Phone number', 'kboard')?>..."></div>
</div>
<div class="kboard-attr-row">
<label class="attr-name"><?php echo __('memo1표시', 'kboard')?></label>
<div class="attr-value"><input type="text" name="memo1" value="<?php echo $content->memo1?>" placeholder="<?php echo __('memo1내용', 'kboard')?>..."></div>
</div>
<div class="kboard-attr-row">
<label class="attr-name"><?php echo __('memo2표시', 'kboard')?></label>
<div class="attr-value"><input type="text" name="memo2" value="<?php echo $content->memo2?>" placeholder="<?php echo __('memo2내용', 'kboard')?>..."></div>
</div>
안녕하세요~^^
우선 kboard_document_insert 액션과 kboard_document_update 액션에 프로그램 코드를 추가해주시면 되겠습니다.
게시글 입력과 수정시 실행됩니다.
데이터베이스 쿼리 작성은 직접 해주셔야 할 듯합니다.
간략한 예제 올려드립니다.
테마의 functions.php 등 작업하시는 파일에 추가해서 테스트 해보세요.
add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 2);
add_action('kboard_document_update', 'my_kboard_document_insert', 10, 2);
function my_kboard_document_insert($content_uid, $board_id){
global $wpdb;
$data = array();
$data['memo1'] = isset($_POST['memo1']) ? sanitize_text_field($_POST['memo1']) : '';
$data['memo2'] = isset($_POST['memo2']) ? sanitize_text_field($_POST['memo2']) : '';
$data['memo3'] = isset($_POST['memo3']) ? sanitize_text_field($_POST['memo3']) : '';
$data['memo4'] = isset($_POST['memo4']) ? sanitize_text_field($_POST['memo4']) : '';
$data['memo5'] = isset($_POST['memo5']) ? sanitize_text_field($_POST['memo5']) : '';
$wpdb->update("{$wpdb->prefix}kboard_board_content", $data, array('uid'=>$content_uid), array('%s', '%s', '%s', '%s', '%s'), array('%d'));
}
KBoard(케이보드) 액션과 필터 등 설명은 아래 링크를 참고해주세요.
http://www.cosmosfarm.com/products/kboard/hooks
워드프레스 데이터베이스 사용 방법은 wpdb 문서를 참고해주세요.
https://codex.wordpress.org/Class_Reference/wpdb
고맙습니다.