Redimensionamento das miniaturas sem gambiarras

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!

16 thoughts on “Redimensionamento das miniaturas sem gambiarras

  1. Pingback: Alexsandro Santos

  2. Pingback: promovaja

  3. Pingback: PoolDigital

  4. Pingback: João Ferry

  5. Pingback: Michael Davis

  6. 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();

  7. Pingback: Leonardo R.

  8. 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.

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>