추천 게시물 미리보기 이미지를 확대하는 방법은 무엇입니까?


11

상황은 이것입니다 : 비디오 썸네일 플러그인을 사용하여 youtube / vimeo 썸네일을 게시 된 이미지로 자동 설정하고 설정합니다. 문제는 기본 youtube / vimeo 썸네일 크기가 테마 기본 콘텐츠 너비보다 약간 작다는 것입니다.

그래서 내가 필요한 것은 그것들을 확장하는 것입니다. 미디어 라이브러리로 이동하면 각 이미지를 수동으로 편집 한 다음 정확한 너비를 설정하면 WordPress에서 바로 크기를 조정합니다 (품질이 약간 나쁘다는 것은 신경 쓰지 않습니다). 이미지가 업로드 될 때마다 WP가 자동으로 수행하는 방법이 있습니까?

이것은 내가 정의한 이미지 크기입니다. add_image_size('post-full', 688, 320, true);Vimeo thumb 크기는 640x320입니다.


1
다음은 levi의 솔루션과 jackrugile의 수정 사항을 기반으로 축소판을 업 스케일링하기 위해 작성한 플러그인입니다. wordpress.org/support/plugin/thumbnail-upscale
khromov

답변:


20

기본 Wordpress image_resize 함수를 사용하여 이미지를 확대 할 수 있습니다. Wordpress는 기본 이미지 자르기 설정을 덮어 쓰는 데 사용할 수있는 " image_resize_dimensions " 라는 후크를 제공합니다 . 다음은 스케일 업을 지원하는 수정 된 기능입니다.

function image_crop_dimensions($default, $orig_w, $orig_h, $new_w, $new_h, $crop){
    if ( !$crop ) return null; // let the wordpress default function handle this

    $aspect_ratio = $orig_w / $orig_h;
    $size_ratio = max($new_w / $orig_w, $new_h / $orig_h);

    $crop_w = round($new_w / $size_ratio);
    $crop_h = round($new_h / $size_ratio);

    $s_x = floor( ($orig_w - $crop_w) / 2 );
    $s_y = floor( ($orig_h - $crop_h) / 2 );

    return array( 0, 0, (int) $s_x, (int) $s_y, (int) $new_w, (int) $new_h, (int) $crop_w, (int) $crop_h );
}

이제이 기능을 다음과 같이 연결하십시오.

add_filter('image_resize_dimensions', 'image_crop_dimensions', 10, 6);

완료되면 image_resize 함수를 사용하여 필요에 따라 이미지를 확대 또는 축소 할 수 있습니다 .

$cropped_image = image_resize($image_filepath, $width, $height, true);

그러나이 방법을 사용하고 자른 이미지를 생성하려고하면 오류가 발생합니다. 이미지 편집기 저장 실패-어떤 아이디어?
Felix Eve

여전히 Wordpress 4.1.5와 함께 2015 년 7 월에도 잘 작동합니다. 게시물의 추천 이미지에 맞게 작은 이미지를 확대하기 위해 필요한 것입니다.
Mark Rummel

자르기 위치 옵션을 지원하려는 경우 함수가 반환되기 직전에 다음 코드를 추가하십시오. if( is_array( $crop ) ) { if( $crop[ 0 ] === 'left' ) { $s_x = 0; } else if( $crop[ 0 ] === 'right' ) { $s_x = $orig_w - $crop_w;} if( $crop[ 1 ] === 'top' ) { $s_y = 0; } else if( $crop[ 1 ] === 'bottom' ) { $s_y = $orig_h - $crop_h; } }
jackrugile

여전히 Wordpress 5.1.1에서 2019 년 4 월에 작동합니다. 나는 그것을 사용하여 원하는 사용자 정의보다 작은 고급 이미지를 강제로 사용합니다 add_image_size. Regenerate Thumbnails 플러그인과 함께.
Mtxz

add_image_size기능 과 함께 작동시키는 방법?
Gediminas

0

가장 쉬운 방법은 640x298의 이미지 크기를 추가하고 CSS를 사용하여 크기를 조정하는 것입니다. 크기가 약간만 증가하므로 브라우저 크기 조정이 제대로 작동합니다.

불행히도, 내가 알고있는 모든 플러그인은 이미지 업 스케일링을 제공하지 않고 더 작은 이미지 크기 만 생성하므로 서버에 688x320을 설치하려면 기존 플러그인 중 하나를 편집해야합니다.

Imagick을 설치 한 경우 325 행의 video-thumbnails.php 파일에서 플러그인을 변경하여 다음 코드를 사용하여 더 큰 버전의 썸네일을 생성 할 수 있습니다.

$image_big = new Imagick();
$image_big->setOption('jpeg:size', '688x344');
$image_big->readImage($new_thumbnail);

$upload = wp_upload_bits( basename( $new_thumbnail ), null, $image_big );

워드 프레스가 작은 썸네일을 생성하도록합니다 (높이 자르기). Imagick 코드에서 다양한 비디오 플랫폼에 대해 다른 이미지 크기를 만드십시오!


CSS 수정으로 바로 갈 것이라고 생각합니다. 실제 상황에서 가장 쉽고 빠른 방법입니다. 또한 WP 코어 파일을 확인했으며 크기 조정 기능이 min ()을 사용하는 것 같습니다. 최소 너비 / 높이를 결정하고이를 수정할 후크가 없으므로 업로드 할 때 이미지를 업 스케일하지 않습니다.
evaqas

"image_resize_dimensions"라는 후크를 사용하면 min ()없이 함수를 다시 작성할 수 있습니다.
Levi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.