Como coloquei thumbnails automáticos, sem custom fields ou plugins

16 ComentáriosEscrito por Nuno em Outubro 21, 2009 na Blog, Cria um blog, themes, webdesign, wordpress

thumbs

Como devem ter reparado estive a fazer uns pequenos ajustes na theme aqui do blog, para além de alguns elementos novos na sidebar, temos agora thumbnails automáticos no índice dos posts. Esta técnica é extremamente útil, pois não temos de fazer nada para inserir o thumbnail, não temos de usar custom fiels, não temos de usar plugins (não cumprem o viva thumbs, não vale nada e não funciona bem), simplesmente o script vai buscar a primeira imagem do artigo e corta-a automaticamente.

1- Criar o timthumb.php

O timthumb é um script que muitas themes do wordpress já trazem para este efeito, é gratuito e podem ir busca-lo aqui. Basta copiar o código e criar o ficheiro timthumb.php e coloca-lo na pasta da vossa theme.

2- Editar o ficheiro functions.php

A maior parte das theme trás este ficheiro, se a vossa theme não tiver um ficheiro functions.php criem um, com um seguinte código.

<?php
// retreives image from the post
function getImage($num) {
global $more;
$more = 1;
$content = get_the_content();
$count = substr_count($content, '<img');
$start = 0;
for($i=1;$i<=$count;$i++) {
$imgBeg = strpos($content, '<img', $start);
$post = substr($content, $imgBeg);
$imgEnd = strpos($post, '>');
$postOutput = substr($post, 0, $imgEnd+1);
$image[$i] = $postOutput;
$start=$imgEnd+1;  

$cleanF = strpos($image[$num],'src="')+5;
$cleanB = strpos($image[$num],'"',$cleanF)-$cleanF;
$imgThumb = substr($image[$num],$cleanF,$cleanB);

}
if(stristr($image[$num],'<img')) { echo $imgThumb; }
$more = 0;
}
//retreive image ends
?>

3- Código do thumbnail

Agora vamos inserir o código na vossa theme, para aparecer o thumbnail, poderá ser no ficheiro index,php, no archive.php, depende da vossa theme, deverá estar dentro do loop que vai buscar o conteúdo, antes do the_content(); por exemplo.

<div class="thumbnail">
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
<img src="<?php bloginfo('template_directory'); ?>/timthumb.php?src=<?php getImage('1'); ?>&w=150&h=150&zc=1">
</a>
</div>

4- Adicionar o CSS

Para terminar, basta adicionar algum código CSS para dar estilo aos vossos thumbnails.

.thumbnail a:link, .thumbnail a:visited {display:block; float:left; padding:5px; background:#e2e2e2; width:150px; height:150px; margin:5px 5px 0 0;}
.thumbnail a:hover, .thumbnail a:active {background:#C4C4C4;}

O efeito será mais ou menos este, espero que vos seja útil.

thumbs

Fonte


DeliciousFacebookDiggDesign FloatRSS FeedStumbleUponTechnoratiTwitterGoogleLinkedIn

Sobre o Autor

Autor
  • Nome: Nuno Coelho website: Nuno
  • Data do post: 21 Out 09
  • Categorias: Blog, Cria um blog, themes, webdesign, wordpress
  • Info: Estudante de Comunicação e Design Multimédia, CEO do maistrafego.pt uma comunidade dedicada à web portuguesa desde 2004. Completamente fanático por webmarketing, webdesign, search engine optimization, search engine marketing e pela web social.

16 Responses to “Como coloquei thumbnails automáticos, sem custom fields ou plugins”

  1. Diogo Pinto Reply

    Perfeito, muito bom! Já tinha visto nos temas da elegant themes mas nunca tinha explorado a fundo!

    Parabéns :D

  2. Djalma Reply

    ótima post..
    Os clientes reclamavam de usar o custom fields (acha complicado) e usando este código, o único trabalho é eles inserirem a imagem no post (que é muito facil..rs).
    Valew pela força Nuno..

  3. Lauro Adriano Reply

    Era justamente o que precisava: "Como coloquei thumbnails automáticos, sem custom fields ou plugins" http://tinyurl.com/ylk4cc6

  4. bfms Reply

    “(não cumprem o viva thumbs, não vale nada e não funciona bem)”

    Porque dizes isso? Já o uso em vários sites e funciona perfeitamente bem e pelo preço não acho caro (até porque com a licença para 1 site já lá vão 3 lol)

  5. Djalma Reply

    Usei local a função e funcionou perfeitamente, mas quando subi para o servidor ñ deu certo, devo alterar algo no servidor para poder funcionar esta função?
    obrigado..

  6. MiStEr_QuIm Reply

    Muito bom o tutorial :D Sou bem capaz de meter thumbnails num dos meus sites por estes dias.

  7. ZackShinra Reply

    Grande dica, já estou implementando no meu tema.

  8. Danilo Reply

    Muito bom o artigo, funcionou perfeitamente, muito obrigado!

  9. Almeida C. Reply

    Obrigado pela dica. Muito boa e automatiza 100% a maior dificuldade dos clientes.

  10. Pedro Reply

    Kra vc foi foda msm!! :D
    Vlw de mais sua contribuição. Obrigado.

Leave a Reply

Sobre

O maistrafego.pt é um projecto comunitário e independente criado para pessoas que trabalhem no seu dia-a-dia com a web. O objectivo principal deste projecto é que os webmasters tenham um espaço onde possam sair do stress dos seus websites e projectos, e conviver de forma relaxada e descontraída com outros profissionais na área, partilhando conhecimentos e experiências.