Nota : Este guia irá mostrar-lhe como editar arquivos Core WordPress, eu realmente não recomendo. Use-o apenas se souber o que está fazendo. O guia foi escrito há muito tempo quando você não podia definir locais de corte personalizados, agora você pode definir seu local de corte ao usar a função add_image_size para que este guia não seja mais aplicável.
Eu tenho usado muito a nova função de miniaturas de posts do WordPress ultimamente no desenvolvimento de temas. Afastei-me do método mais lento, menos eficiente e amigável para SEO de usar o script TimThumb para redimensionar imagens em sites com WordPress.
E embora seja uma ótima função ter embutido no WordPress, ele tem suas “falhas”, como o fato de que não há nenhum parâmetro para definir o local/posição de corte da imagem quando redimensionada.
Local de corte
Ao trabalhar no meu site outro dia, notei que, quando as miniaturas do tema do WordPress estavam sendo cortadas, toda a metade superior estava sendo cortada, não dando às pessoas uma boa ideia de como o tema realmente seria.
Abaixo está apenas uma foto engraçada que encontrei mostrando outro motivo pelo qual você pode escolher diferentes locais de corte para suas imagens, em vez de sempre usar o corte “centro” padrão.
Alterar o corte central padrão para miniaturas
Infelizmente, para alterar o local de corte das miniaturas, você terá que sujar um pouco as mãos com os arquivos Core WordPress. Basta seguir os passos abaixo para alterar o local de corte de suas Miniaturas (isso não mudará para TODAS as miniaturas definidas em seu functions.php e configurações de mídia).
- Etapa 1: navegue até a pasta wp-includes
- Etapa 2: encontre e abra o arquivo media.php
- Etapa 3: Localize o código a seguir (em torno da linha 3.61 no WordPress 3.1.1)
$s_x = andar( ($orig_w – $crop_w) / 2 );
$s_y = andar(($orig_h – $crop_h)/2);
- Etapa 4: Edite o código para atender às suas necessidades (veja a explicação abaixo)
Alterando os valores de corte
Essas duas linhas que você encontrou são responsáveis
Recortar do topo
Para recortar do topo, basta fazer o valor de y igual a 0, então altere a segunda linha de código para ficar assim:
$s_y = 0; // andar( ($orig_h – $crop_h) / 2 );
Recortar do Centro Esquerdo
Para recortar da esquerda, você precisa tornar o valor x igual a 0, então altere a primeira linha de código para ficar assim:
$s_x = 0; // floor( ($orig_w – $crop_w) / 2 );
Recortar do canto superior esquerdo
Combine as duas últimas amostras para recortar uma imagem do canto superior esquerdo.
$s_y = 0; // andar( ($orig_h – $crop_h) / 2 );
$s_x = 0; // floor( ($orig_w – $crop_w) / 2 );
Re-gerar miniaturas do WordPress
Não se esqueça de que, se você alterar o local de corte de suas miniaturas, terá que recortar todas elas. Você pode fazer isso facilmente com um dos dois plugins a seguir: AJAX Thumbnail Rebuild ou Regenerate Thumbnails .