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를 이용하는 개발자로서 조금이나마 많은 분들에게 도움이 되었으면 좋겠습니다. 

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기