Que o WordPress é um sistema muito flexível todos nós já sabemos, mas flexibilidade não é sinônimo de gambiarra, e é isso que temos que fazer quando temos um site com miniaturas de vários tamanhos e então ficamos reféns daquele famoso arquivo que redimensiona todas as imagens automaticamente. Com o truque abaixo não precisamos fazer mais isso, quando queremos puxar a miniatura basta informar o tamanho predefinido.
1º Passo
O WP tem uma função chamada add_image_size que serve para redimensionar a imagem automaticamente quando for feito o upload dela. Ela tem dois modos de corte da imagem.
No arquivo functions.php você deve adicionar essa linha.
add_image_size( "miniatura-post", 300, 150, true );
Explicando
“miniatura-post” é o nome que você ira usar para chamar esse tamanho.
300 e 150 correspondem a largura e altura da imagem de saída.
true serve para dizer se a imagem é para ficar nas dimensões exatas (true) ou proporcional (false).
Observação: Caso você coloque em false a imagem nem sempre sairá no tamanho desejado e sim proporcional ao seu tamanho original, a vantagem desse modo é que a imagem não sofre cortes.
2º Passo
No local onde você quer que a imagem apareça basta adicionar esse código, lembrando que deve ser adiciona dentro do loop do WP.
<?php the_post_thumbnail("miniatura-post") ?>
“miniatura-post” é o nome definido no arquivo functions.php.
Observação: Esse recurso só funciona em imagens que forem adicionadas após você adicionar esse código, para as imagens antigas funcionarem existe o plugin Regenerate Thumbnails que recorta todas as imagens no novo tamanho especificado, mas eu percebi uma desvantagem nele. Caso você troque de tema regularmente e precise refazer várias vezas as miniaturas ele não apaga as antigas, somente acrescenta os novos tamanhos no diretório.
Valeu pessoal até a próxima!
Pingback: Alexsandro Santos
Pingback: promovaja
Pingback: PoolDigital
Valeu as dicas
Pingback: João Ferry
Pingback: Michael Davis
Estava precisando disso, obrigado por compartilhar!
So lembrando que é nescessario que seu tema suporte thumbnails(miniaturas) caso não suporte é so adicionar add_theme_support( 'post-thumbnails' ); antes do add_image_size();
Pingback: Leonardo R.
ta ai uma coisa que quase ninguém faz, e sobem as vezes miniaturas muito maiores do que realmente são
Muito boa dica, valeu!
acho que nos deviam ensinar mais cenas de php
Muito, muito obrigado por compartilhar! O "timthumb.php" não funciona em todos os hosts, normalmente, aí tem que ficar pedindo pro suporte retirá-lo da blacklist do apache, coisa e tal. É uma dor de cabeça.
Só tenho uma dúvida (quero sana-la antes de testar, se possível):
Posso usar o cod. no functions.php assim?
add_image_size( "miniatura-50", 50, 50, true );
add_image_size( "miniatura-100", 100, 86, true );
add_image_size( "miniatura-200", 200, 120, true );
add_image_size( "miniatura-300", 300, 150, true );
Funfa?
Abraços.
Desculpe a minha ignorância, talvez até preguiça, mas está bonitinho na documentação.
if ( function_exists( ‘add_theme_support’ ) )
add_theme_support( ‘post-thumbnails’ );
if ( function_exists( ‘add_image_size’ ) ) {
add_image_size( ‘category-thumb’, 200, 200 );
add_image_size( ‘homepage-thumb’, 220, 180, true );
}
Abraços.
Sem nenhum problema, afinal é igual ao código que eu passei so muda os nomes e os tamanhos.
Nossa…eu fazia cada gambiarra horrível..huahuahua