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

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

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(케이보드) 플러그인도 업데이트하도록 하겠습니다.

    고맙습니다.

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