$content->getThumbnail(120, 90) 이렇게 쓰거나 kboard_resize() 함수를 쓰면 /wp-content/uploads/kboard_thumbnails 폴더에 '파일명-120x90.jpg' 이런식으로 이미지가 크롭되어서 저장이 되는데요 멀티사이트에선 제대로 작동을 하지 않는것 같아 문의드립니다.
멀티사이트에선 사이트 아이디에 따라 /wp-content/uploads/sites/6/kboard_thumbnails이 경로에 저장이 되긴 하는데 $content->getThumbnail(120, 90) 이렇게 써 줘도 원본사이즈로만 저장이 되고 있습니다.
스킨은 비너스웹진하고 썸네일 스킨 두 개 테스트해봤는데 두 스킨 모두 문제가 동일합니다.
워드프레스, 케이보드 모두 최신버전이고 서버 사양도 php7,mariadb10.x입니다.
안녕하세요~^^
멀티사이트에서도 KBoard(케이보드)의 모든 기능을 테스트 했으며 별다른 문제를 확인하지 못했습니다.
그리고 php7, mariadb10.x 에서도 충분히 테스트 되었습니다.
이미지 썸네일이 저장되는 않는 문제는 다른 원인이 있을 것으로 생각됩니다.
/wp-content/plugins/kboard/helper/Functions.helper.php 파일에 보시면 아래 코드가 있습니다.
function kboard_resize($image_src, $width, $height){
$upload_dir = wp_upload_dir();
$dirname = dirname($image_src);
$dirname = explode('/wp-content/uploads', $dirname);
$resize_dir = end($dirname);
$basename = basename($image_src);
$fileinfo = pathinfo($basename);
$resize_name = basename($image_src, '.'.$fileinfo['extension']) . "-{$width}x{$height}.{$fileinfo['extension']}";
$new_image = $upload_dir['basedir'] . "{$resize_dir}/{$resize_name}";
$new_image_src = content_url("uploads{$resize_dir}/{$resize_name}");
if(file_exists($new_image)){
return $new_image_src;
}
$image_editor = wp_get_image_editor($upload_dir['basedir'] . "{$resize_dir}/{$basename}");
if(!is_wp_error($image_editor)){
$image_editor->resize($width, $height, true);
$image_editor->save($new_image);
return $new_image_src;
}
else{
return site_url($image_src);
}
}
kboard_resize 함수에서 썸네일 파일을 저장하는 기능을 하고있으며,
이미지 크기를 조절하는 기능은 wp_get_image_editor 함수에서 하고 있습니다.
KBoard(케이보드)에서 이미지 조절 기능은 워드프레스 기본 기능을 사용하고 있습니다.
원본 파일이 제대로 저장이 되고 있다면,
리눅스 서버에 ImageMagick 프로그램이 인스톨되어 있는지 점검 해보시겠어요?
혹은 PHP GD 라이브러리도 정상적으로 설치되어 있는지요?
고맙습니다.
공유호스팅 두 군데에서 테스트를했는데 두 군데 모두 동일한 문제가 발생합니다. 루트 사이트에선 정상적으로 작동하는데 멀티사이트 세팅 후 생성한 사이트에서만.. 안되고 있습니다..ㅠ
아래 링크에 추가 답변 달았습니다.