멀티사이트에서 썸네일 이미지 크롭하는 함수가 작동되지 않습니다.

이전에 같은 문제로 질문을 드렸었습니다.

http://www.cosmosfarm.com/threads/document/21671

멀티사이트를 만들고 루트사이트(블로그 아이디가 1번)에선 썸네일이 크롭되어서 /wp-content/uploads/kboard_thumbnails 폴더에 '파일명-120x90.jpg' 이런식으로 저장이 됩니다. 그 외에 블로그 아이디가 2번인 사이트부터는 원본사이즈로밖에 저장이 안 됩니다.

Imagick과 GD라이브러리 설치 여부도 모두 확인했습니다. 각각 다른 업체의 공유호스팅에서 테스트 해봤는데 동일한 문제가 나타납니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    FTP로 접속해서 코드를 수정해보시겠어요?

    /wp-content/plugins/kboard/helper/Functions.helper.php 파일을 수정해주세요.

     

    1. 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);
    	}
    }

     

    2. 위에서 찾은 코드를 아래 코드로 교체해주세요.

    function kboard_resize($image_src, $width, $height){
    	$upload_dir = wp_upload_dir();
    	$basedir = str_replace(ABSPATH, '', $upload_dir['basedir']);
    	$dirname = dirname($image_src);
    	$dirname = explode("/{$basedir}", $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 = $upload_dir['baseurl'] . "{$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(케이보드) 플러그인도 업데이트하도록 하겠습니다.

    고맙습니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요