안녕하세요.
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를 이용하는 개발자로서 조금이나마 많은 분들에게 도움이 되었으면 좋겠습니다.
안녕하세요~^^
좋은 정보 고맙습니다.
저희도 연구해보고 좋은 방법이 있다면 업데이트하도록 하겠습니다.
고맙습니다.