Assine o Nosso Feed

61 Leitores

Usando os thumbnails gerados pelo Wordpress no seu tema

VN:F [1.8.4_1055]

wordpress-thumbnail

Muitos temas de Wordpress mostram na index um resumo do post juntamente com um thumbnail, e a tempos eu procuro um método mais fácil de fazer isso sem utilizar nenhum script externo ou mesmo “Custom Fields” para tal.

Vejo muitos temas por ai utilizando “Custom Fields” para colocar um thumb na index, mas isso é muito trabalhoso muitas vezes tendo que criar uma imagem separada só para o thumb. O método que eu vou explicar agora usa a primeira imagem que for anexada no post, ou seja o script pega a thumb criada pelo wordpress e coloca automaticamente onde você quiser.

O thumbnail já vem configurado como default nas configurações de Media, mas você pode configurá-lo como desejar.

wordpress-thumbnails

Depois de ter configurado o tamanho do thumbnail, abra o index.php do seu tema e dentro do Loop do Wordpress coloque o seguinte código, que vai pegar o thumbnail da primeira imagem anexada no seu post.

<?php
//Pega as imagens anexadas desse post
$args = array(
	'post_type' => 'attachment',
	'post_mime_type' => 'image',
	'numberposts' => -1,
        'order' => 'ASC',
	'post_status' => null,
	'post_parent' => $post->ID
);
$attachments = get_posts($args);
if ($attachments) {
	foreach ($attachments as $attachment) {
		$img = wp_get_attachment_thumb_url( $attachment->ID );
                break;
        }
}
echo "<img src='$img' /?>";
//Mostrando a imagem by http://www.hotpress.com.br
?>

Explicando o Código

Primeiramente buscamos as imagens anexadas ao post, se existir alguma imagem, buscar o caminho para o thumbnail usando a função wp_get_attachment_thumb_url.
Agora você ja tem o caminho da imagem ($img), podendo puxar a sua thumbnail sem utilizar scripts ou mesmo “Custom Fields”, só usando a tag html <IMG>.

Usando os thumbnails gerados pelo Wordpress no seu tema3.455

Leia Também

  1. Configurando uma largura máxima para suas imagens dentro do post
  2. Wordpress usando multiplos loops
  3. Mostrar quantos comentários de usuários registrados tem seu Wordpress
  4. Mostrando o número total de artigos do seu blog Wordpress
  5. Colocando um login form no seu theme Wordpress

3 comentários

  1. legal o seu post, essa é uma das funções mais pedidas por desenvolvedores WordPress.

    Mas acho que essa solução ficou um pouco complexa já que o desenvolvedor teria que adicionar todo esse código sempre que quisesse apresentar a imagem (multiplos loops por exemplo). Além disso a função get_posts carrega muito conteúdo na memória como: título, autor, data, etc; de vários anexos, quando precisamos somente do título e link da primeira imagem.

    Caso tenha interesse esse post sugere uma solução mais simples: http://www.marcelomesquita.com/the_thumb/

  2. Denny says:

    Boa noite.. estou quebrando a cabeça com uma coisa semelhante… ao colocar um post envio a imagem do meu computador… adiciono no post.. até aí ok.. aparece na index, no canal e na exibição… mas se eu postar uma outra notícia e usar a imagem que já está no servidor, só aparece na exibição… no canal e na index nao… nao aparece nadinha…. tenho que carregar a mesma imagem novamente que o wordpress renomeia com um numero na frente.. aí aparece… quer dizer.. imagem de url nao aparece… mesmo que essa url seja no meu server…. tenho poucas imagens, e um monte duplicadas por causa disso.. e aff…. vai espaço… to de cabeça frita já e ainda nao consegui solucionar o problema…. essa sua idéia é super interessante… mas nao chama… aparece um X como se a imagem nao pudesse ser encontrada… poderia me dar uma ajuda.. obrigado pela atenção desde já…

Deixe um comentário!