안녕하세요.
thumbnail로 첨부하는 이미지를 저장할때 (upload시점에) size를 줄여서 저장하려면 어떻게 해야 하는지 궁금합니다.
kboard_resize()라는 함수는 이미 upload되어 있는 이미지를 resize하는 함수인거 같아서 용도에 안맞는거 같구요..
가이드 부탁드립니다. 항상 도움주셔서 감사합니다.
/kboard/class/KBContent.class.php 파일을 수정해주셔야 합니다.
public function setThumbnail($uid){
global $wpdb;
if(!$this->thumbnail_store_path) die(__('No upload path. Please enter board ID and initialize.', 'kboard'));
if($_FILES['thumbnail']['tmp_name']){
$file = new KBFileHandler();
$file->setPath($this->thumbnail_store_path);
$upload = $file->upload('thumbnail');
$original_name = addslashes($upload['original_name']);
$file = addslashes($upload['path'] . $upload['stored_name']);
if($original_name){
$this->removeThumbnail($uid);
$wpdb->query("UPDATE `{$wpdb->prefix}kboard_board_content` SET `thumbnail_file`='$file', `thumbnail_name`='$original_name' WHERE `uid`='$uid'");
}
}
}
위 코드를 찾아서 아래처럼 코드를 추가해주세요.
public function setThumbnail($uid){
global $wpdb;
if(!$this->thumbnail_store_path) die(__('No upload path. Please enter board ID and initialize.', 'kboard'));
if($_FILES['thumbnail']['tmp_name']){
$file = new KBFileHandler();
$file->setPath($this->thumbnail_store_path);
$upload = $file->upload('thumbnail');
$original_name = addslashes($upload['original_name']);
$file = addslashes($upload['path'] . $upload['stored_name']);
if($original_name){
$upload_dir = wp_upload_dir();
$file_path = explode('/wp-content/uploads', $upload['path'] . $upload['stored_name']);
$file_path = strtolower($upload_dir['basedir'] . end($file_path));
$image_editor = wp_get_image_editor($file_path);
if(!is_wp_error($image_editor)){
$image_editor->resize(300, 300, true);
$image_editor->save($file_path);
}
$this->removeThumbnail($uid);
$wpdb->query("UPDATE `{$wpdb->prefix}kboard_board_content` SET `thumbnail_file`='$file', `thumbnail_name`='$original_name' WHERE `uid`='$uid'");
}
}
}
width 값과 height 값을 수정하시면 이미지 크기를 조절하실 수 있습니다.
$image_editor->resize(300, 300, true);
KBoard에 기본적으로 해당 기능을 추가해보겠습니다.
상세한 설명은 아래 링크를 확인 부탁드립니다^^
https://codex.wordpress.org/Function_Reference/wp_get_image_editor