k보드에서 스킨을 자체제작하여 만드는 중입니다.
editor-fields에 있는 썸네일 코드를 따라서 만드는 중인데
서버에 파일이 업로드 되지않고 데이터베이스에도 올라가지 않는 상황입니다.
어떻게 해야될까요?
editor-fields.php에 있는 썸네일 코드를 따라서 editor.php에서 만든 자체제작 코드입니다.
<div class="kboard-attr-row">
<label class="attr-name" for="kboard-input-carimages"><span class="hidden"><?php echo __('carregistration', 'kboard')?></span>자동차이미지</label>
<div class="attr-value">
<?php if($content->carimages):?><?php echo $content->carimages?> - <a href="<?php echo $url->getDeleteURLWithAttach($content->uid);?>" onclick="return confirm('<?php echo __('Are you sure you want to delete?', 'kboard')?>');"><?php echo __('Delete file', 'kboard')?></a><?php endif?>
<input type="file" id="kboard-input-carimages" name="carimages" accept="image/*">
<?php if(isset($field['carimages']) && $field['carimages']):?><div class="carimages"><?php echo esc_html($field['carimages'])?></div><?php endif?>
</div>
</div>
이 부분에 function.php 파일에
function my_kboard_document_insert($content_uid, $board_id){
global $wpdb;
$data = array();
$data['carimages'] = isset($_POST['carimages']) ? sanitize_text_field($_POST['carimages']) : '';
$wpdb->update("{$wpdb->prefix}kboard_board_content", $data, array('uid'=>$content_uid), array('%s'), array('%d'));
}
파일형식이 안올라가지고 기존 [input type=text] 형식은 데이터베이스에 들어갑니다.
안녕하세요~^^
프로그램 코드를 올려야 할 경우 에디터의 코드 스니펫 삽입 기능을 사용해주세요.
코드를 확인해보니 input[type=file]의 name값이 carimages로 되어있습니다.
그런데 name값이 carimages로 되어있는 필드 값이 입력될 때 서버에서 어떠한 처리를 하라고 코드를 별도로 추가 해주셨을까요?
input[type=file]로 만들어진 모든 필드가 db에 저장되는 것은 아니기 때문에 서버에서 별도의 처리를 해주셔야합니다.
필드의 name을 아래 처럼 변경하시면 KBoard(케이보드)에서 인식합니다.
kboard_attach_* 이런 형식의 이름으로 된 필드를 첨부파일로 인식하고 있습니다.
<input type="file" id="kboard-input-carimages" name="kboard_attach_carimages" accept="image/*">
그리고 출력 부분에서 아래 코드로 어떤 데이터를 포함하고 있는지 확인 해보시겠어요?
print_r($content->attach->carimages)
고맙습니다.