Desde quando comecei a trabalhar com WP, a funcionalidade mais
requisitada foi sempre inserir uma imagem nas chamadas dos posts. Para
isso criei uma função que puxa, do banco de dados, a primeira imagem de
um post. A partir da versão 2.6 do WP, ordenar as imagens do
post se tornou possível através de um drag’n drop nas opções de galeria. Assim, basta arrastar para a primeira posição a
imagem que quer usar. Essa imagem não precisa necessariamente estar
no conteúdo do post, apenas ter sido anexada a ele.
Para utilizar essa função, abra o arquivo functions.php do seu tema, e depois cole o código abaixo.
function the_thumb($size = "medium", $add = "")
{
global $wpdb, $post;
$thumb = $wpdb->get_row("SELECT ID, post_title FROM {$wpdb->posts} WHERE post_parent = {$post->ID} AND post_mime_type LIKE 'image%' ORDER BY menu_order");
if(!empty($thumb))
{
$image = image_downsize($thumb->ID, $size);
print "<img src='{$image[0]}' alt='{$thumb->post_title}' {$add} />";
}
}
Essa função funciona como uma template tag
do WordPress, basta chamá-la no local do seu tema onde você quer que a
imagem apareça, opcionalmente você pode escolher o tamanho da imagem
($size) e adicionar alguns parâmetros à tag da imagem ($add), como
classes, largura, altura, etc.
Acho que é mais fácil mostrando uns exemplos.
1. Mostrar a imagem no tamanho médio (padrão 300 x 300) sem nenhum dado adicional:
<?php the_thumb('medium'); ?>
Resultaria em:
<img src='http://seusite.com/caminho/da/imagem-300x300.jpg' alt='titulo-da-imagem' />
2. Carregar uma miniatura da imagem (padrão 150 x 150) com a classe ‘alignleft’:
<?php the_thumb('thumbnail', 'class="alignleft"'); ?>
Retornaria:
<img src='http://seusite.com/caminho/da/imagem-150x150.jpg' alt='titulo-da-imagem' class='alignleft' />
3. Forçar uma imagem média a um tamanho diferente:
<?php the_thumb('medium', 'width="300" height="275"'); ?>
Apresentaria:
<img src='http://seusite.com/caminho/da/imagem-300x300.jpg' alt='titulo-da-imagem' width='300' height='275' />
Notem que forçando um tamanho para uma imagem apenas altera seu
tamanho via html, o que pode distorcer a imagem se não for usado
proporcionalmente.
Também é importante lembrar que é possível definir o tamanho das
imagens nas configurações do WordPress. Para isso vá em ‘Configurações
> Mídia’ e altere as medidas a seu gosto.
Esses dias vi um artigo no wprecipes que mostrava como pegar a primeira imagem de um post e mostrá-la,
o problema da função deles é que ela exige que a imagem esteja no
conteúdo do post, o que muitas vezes não é interessante, primeiro porque força o autor a usar uma imagem no conteúdo e, segundo, porque a imagem
que aparece na chamada tem sempre que ser a primeira que aparece no
post.
Até a próxima!