Thumbnail resize 시 GIF 파일 애니메이션 작동하게하는 방법 입니다.

안녕하세요.

Thumbnail에 gif resize 시 애니메이션 제거 되는 현상에 관련하여 답변을 찾다가. 본 스레드에도 답변이 제대로 되어있지 않은 것 같아서 제가 해결한 방법을 남겨드립니다.

 

일단, Thumbnail 게시판기타 썸네일을 필요로 하는 스킨 제작resize 하게되면, GIF 파일이 정지하는 문제가 발생합니다.

이 부분을 타 플러그인을 활용하여 해결하였습니다. 

Animated Gif Resize 라는 플러그인 입니다. (주소: https://wordpress.org/plugins/animated-gif-resize/)

 

다만, 해당 플러그인이 75x75 로 리사이즈 하고 싶을 경우. gif는 잘 되지만, 그 외의 jpg, png 등에서 세로로 긴 이미지를 제대로 resize 못하는 경향이 있습니다.

이를 해결하기 위해 약간의 수정을 하여 GIF Resize 시에만 'Animated Gif Resize' 플러그인의 필터를 활성화 시켰습니다.

그리고 kboard 플러그인의 Functions.helper.php 파일의 kboard_resize() 도 일부 코드를 추가 하였습니다.

 

'Animated Gif Resize' 플러그인의 'animated-gif-resize.php' 파일 수정 (before)

// before
add_filter("wp_image_editors", "bbpp_animated_gif_wp_image_editors", 10, 1);

'Animated Gif Resize' 플러그인의 'animated-gif-resize.php' 파일 수정 (after)

// after : gif resize 의 경우에만 해당 필터를 활성화.
function SetGifResizeEditor(){
	add_filter("wp_image_editors", "bbpp_animated_gif_wp_image_editors", 10, 1);
}

 

'kboard' 플러그인 'helper/Functions.helper.php' 파일의 kboard_resize() 에 아래와 같이 추가

function kboard_resize($image_src, $width, $height){
	
	/* 중략 */
	
	if(file_exists($new_image)){
		return $new_image_src;
	}
	
	// 추가 부분: gif 파일인 경우 Animated Git Resize의 필터를 활성화 해주기 위한 SetGifResizeEditor() 함수 수행
	$searchName = '.gif';
	if(strpos($basename, $searchName) !== false) {	SetGifResizeEditor(); } 
	// 추가부분 끝

	$image_editor = wp_get_image_editor($upload_dir['basedir'] . "{$resize_dir}/{$basename}");
	
	/* 후략 */
}

 

이것 때문에 거의 10시간 이상 고민했었는데...

해결방법을 찾고, 또 공유할 수 있게 되어서 대단히 만족합니다^^;;

kboard를 이용하는 개발자로서 조금이나마 많은 분들에게 도움이 되었으면 좋겠습니다. 

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