Inserindo thumbnails automaticamente na home do WordPress

Dicas de Wordpress

Diversos temas para WordPress exibem em sua home um resumo do post, juntamente com uma thumbnail. Este procedimento normalmente é feito utilizando os Custom Fields, na hora de publicar o post. Ou seja, você faz o upload da imagem e em seguida copia a sua URL e a coloca no Custom Field correspondente. Mas, convenhamos, este processo não é nada usual e dependendo da situação, pode dar um pouco de trabalho na publicação.

Procurando algum método mais prático, me deparei com este do blog HotPress. Após algumas adaptações minhas, ele ficou assim:

<?php
	// Busca a imagem anexadas ao post
	$args = array(
	'post_type' => 'attachment',
	'post_mime_type' => 'image',
	'numberposts' => -1,
	'order' => 'ASC',
	'post_status' => null,
	'post_parent' => $post->ID
	);

	// Verifica se exite alguma imagem anexada e pega sua URL
	$attachments = get_posts($args);
	if ($attachments) {
	foreach ($attachments as $attachment) {
	$img = wp_get_attachment_thumb_url( $attachment->ID );
	break;
	}

	// Busca Permalink e o Título do Post
	$link = $post->guid;
	$title = $post->post_title;

	// Agora que já temos a URL da imagem, o título e a Permalink do post, inserimos isso no HTML
	echo "<div class='img'><a href='$link' title='$title'><img src='$img' alt='$title' /></a></div>";
	}
	else echo "";
?>
Explicação:

Na primeira parte, buscamos as imagens anexadas ao post e, se existir, busca sua URL da sua thumbnail através do wp_get_attachment_thumb_url.
Em seguida buscamos o Permalink do post e o Título, para ser usado no link e no atribulo alt da imagem, respectivamente.

Implementação:

Para funcionar, basta implementar o código acima dentro do loop no wordpress. Exemplo:

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

// Insira o código aqui

<?php endwhile; ?>
<?php endif; ?>

Tamanho da Thumbnail:

O tamanho da thumbnail vem configurado em 150x150px como default, mas você pode alterá-lo no próprio painel do WordPress, em Configurações » Mídia.

Configurações > Mídia

Bom, por enquanto é isso e qualquer problema é só dar um grito aí nos comentários. :)

Publicado por Damião Martins em 20 de setembro de 2009.
Tags: , ,

4 respostas a Inserindo thumbnails automaticamente na home do WordPress

  1. Olá Damião,
    legal que você incrementou o código, irei atualizar o post com suas moficações.

    Abraço.

  2. Internetador disse:

    Tenho tentado usar vários templates do estilo galeria e todos tem o mesmo problema (o problema na verdade é minha ignorância).
    O tema atual – e espero que definitivo – é o ‘video game photo’.

    Template ativo no site: http://fotosimagens.com/

    As miniaturas não aparecem na página inicial, mas as fotos aparecem normalmente nas páginas individuais.
    Já habilitei no tema o suporte a thumbnails inserindo o código no functions.php e mesmo assim as imagens não aparecem na home.

    Qual pode ser o problema, ou melhor, a solução?

  3. cOgumello disse:

    Se você estiver usando a função the_post_thumbnail, para que a imagem apareça na chamada do post, no momento do upload é necessário marcá-la como “Imagem destacada”.

    Da uma olhada nesse post http://www.cogumello.com/wordpress/funcao-the_post_thumbnail-do-wordpress/

    []‘s

  4. Pingback: Funcões › Função the_post_thumbnail()

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>