Redimensionando imagens do WordPress do jeito certo

Para quem usa a função add_image_size do WordPress para criar tamanhos personalizados, o redimensionamento padrão do CMS pode não atender bem. Por exemplo, se você criou um tamanho de imagem de 500×250, quando se você enviar uma imagem de 450×200, a imagem não será esticada como seria de se esperar.

O resultado é uma imagem que pode não preencher o espaço que ela deveria ocupar. A solução para isso é forçar o redimensionamento com o código abaixo em seu functions.php (ele não depende do tamanho da imagem):

/* Thumbnail upscale
/* ------------------------------------ */ 
function alx_thumbnail_upscale( $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', 'alx_thumbnail_upscale', 10, 6 );

Em seguida, basta usar um plugin para gerar novamente as thumbnails que o problema será corrigido. Nossa sugestão é o Regenerate Thumbnails.

Dica lá do Alx Media

Deixe um comentário