WordPress 2.9: como usar miniaturas nos posts?

A versão 2.9 do WordPress introduziu uma funcionalidade que a meu ver é básica e já era amplamente utilizada, mas sem padronização. Cada desenvolvedor fazia à sua própria maneira: miniaturas para os posts.

Mas onde estão as ferramentas para usar thumbnails? Já procurei na página de edição dos posts, em Mídia e nada! Pois é, precisamos inicializar isso, informar ao sistema que desejamos utilizar essas funções. Para isso basta incluir o seguinte código ao arquivo functions.php do seu tema:

add_theme_support('post-thumbnails');

Se quiser restringir a posts ou páginas apenas, faça assim:

// adiciona só para os posts 
add_theme_support('post-thumbnails', array('post'));


// adiciona só para as páginas
add_theme_support('post-thumbnails', array('page'));

Um detalhe importante a ser lembrado é que o suporte a miniaturas foi introduzido na versão 2.9 e, se você está construindo um tema público, talvez fosse uma boa idéia preservar a compatibilidade com versões anteriores, assim:

if(function_exists('add_theme_support')){
  add_theme_support('post-thumbnails');
  // naturalmente, toda a atividade com thumbnails deve acontecer aqui dentro
  // ou após um teste pela existência da função  add_theme_support' (ou outra que seja apenas do 2.9)
}

Ok, a primeira mudança óbvia é a caixa ‘Miniatura do post’ que aparece na interface de criação/edição de posts e páginas (‘Imagem da página’). Clicando em ‘Configurar miniatura’ abrimos a interface de upload de arquivos e o processo é exatamente o mesmo. Você pode subir imagens de qualquer tamanho até os limites configurados no sistema. Mas um thumbnail não devia ser pequeno? Bem, não necessariamente… mas podemos definir o tamanho de exibição da imagem:

set_post_thumbnail_size(40, 40, true);

Isso irá definir o tamanho padrão para thumbnails e quando chamarmos a função the_post_thumbnail() uma imagem de 40×40 pixels será exibida. Mas ainda há outras possibilidades e podemos trabalhar com diversos tamanhos de thumbnails para diferentes situações.

Seria comum desejar um tamanho pequeno para as listagens de posts e um maior para a página do post. O mais simples seria usar os tamanhos padrão do WP, que podemos configurar na página de opções (…)/wp-admin/options.php. São os mesmos tamanhos que a janela de upload nos mostra logo após subirmos uma imagem. Para isso podemos usar uma das palavras ‘small’, ‘medium’ ou ‘large’ como parâmetro e o sistema vai exibir a imagem no tamanho solicitado.

the_post_thumbnail("small");
the_post_thumbnail("medium");
the_post_thumbnail("large");

E há ainda a possibilidade de passar as especificações da medida desejada num array (larg., alt.):

the_post_thumbnail(array(80, 120));

Ok, bem legal não? Mas ainda há outro modo, que me parece mais elegante. As palavras ‘small’, ‘medium’ e ‘large’ são identificadores registrados no sistema e podemos definir nossos próprios identificadores! Veja:

// para posts
add_image_size('post-thumb', 350, 800, true);

// para páginas
add_image_size('page-thumb', 600, 1200, false);

Então poderemos usar dessa forma:

the_post_thumbnail("post-thumb");
the_post_thumbnail("page-thumb");

Bem bacana não? Chega de hacks! miniaturas nos posts é algo básico e que já demorou muito pra acontecer!

Abraços e esperamos ter ajudado a esclarecer um pouco essa nova funcionalidade do WordPress.

Posts Similares

  • Como traduzir temas e plugins?

    Quem lida com o WordPress provavelmente já traduziu um tema, simplesmente buscando por strings nos arquivos e substituindo pelo equivalente em português. Isso é simples (até certo ponto) e eficaz, mas o WP oferece um sistema de tradução nativo, baseado no GNU Gettext. Verdade que muitos desenvolvedores não dão a menor bola para isso, mas…

  • Mais cores para a seção administrativa do WordPress 3.8

    Uma das coisas que mais gostei no WordPress 3.8 foi o novo esquema de cores para a parte administrativa do WordPress. Não só das que vem como padrão, mas já vislumbrando a possibilidade de criar mais esquemas e dar uma cara diferente para cada projeto, os personalizando ainda mais. Se você não encontrar um esquema…

  • Segurança: Alterando o prefixo do Banco de Dados do WordPress

    Uma das coisas incríveis do WordPress é que ele é um sistema de publicação dinâmica, que utiliza um banco de dados para armazenar informações de seu site: posts, opções e configurações de plugins e temas – todos estes dados são armazenados no banco de dados do seu site. É como se fosse cérebro da sua…

  • Identificando o body da página com ID no WordPress

    Por padrão o WordPress identifica o body de cada página com classes. Essa identificação é feita com várias classes, dependendo do tipo de página, post, etc. Exemplos: body class=”single single-post postid-162 single-format-standard” body class=”archive category category-tutoriais category-9″ body class=”page page-id-442 page-template page-template-contato-php” Para aplicar estilos, algumas vezes, essa identificação pode ficar um pouco confusa. Este…

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

5 Comentários

  1. Oi, já tentei configurar essa função no meu wordpress.. e não consegui atá hoje ;(
    Já adcionei o suporte ao meu functions.php só que não consigo usar.. e também não sei onde colocar as linhas para determinar o tamanho do thumbnail.
    Não sou nengum expert em wordpress, consegui configurar algumas coisas mas não sei onde inserir essas linhas e não sei como fazer funcionar no meu template.
    the_post_thumbnail("small");
    the_post_thumbnail("medium");
    the_post_thumbnail("large");
    Você pode me ajudar?

  2. Eu coloquei a primeira linha do artigo e também a que define o tamanho do thumbnail, em functions.php, dentro das tags do PHP e funcionou certinho. Lá embaixo, no canto inferior direito, apareceu uma caixa chamada MINIATURA DO POST.
    Abraço!

  3.  
    Olá! Estava pesquisando um tutorial do wordpress e encontrei seu contato.
    Estou precisando de uma ajuda e não encontro em lugar algum. É o seguinte:
    Sabe quando vc assina um blog e recebe o aviso de novas postagens? Eu queria que aparecesse a foto postada juntamente com um pequeno texto e não estou conseguindo.
    Sabe como eu posso fazer isso?

  4. ola gostaria de saber como possso por ou se é possivel eu deixar meu site do jeito desse aqui extafilm.com,com as postagens em miniaturas,tem como fazer isso com plugins ou algum outro jeito ,obrigado pela ajuda