thumbnails-custom-field

O ThimThumb é uma excelente ferramenta para gerar miniaturas/thumbnails. No artigo ‘Gere thumbnails (miniaturas) automaticamente no WordPress’ mostrei como instalar e usar esta ferramenta, agora mostro como usar custom fields (campos personalizados) ao invés de um link estático.

Como fazer

Para usar um link de imagem vindo de um custom field, basta usar o seguinte código antes do código do timthumb (que deve estar dentro do laço do post):

<?php
$key='post-img'; // substitua o post-img pelo nome do seu custom field
$link-post-img = get_post_meta($post->ID, $key, true);
?>

No código acima estamos considerando que o nome do custom field é post-img. Pode-se alterar este nome se quiser.

No código do timthumb se deve alterar o lugar do link (logo após “srcâ€) para:

<?php echo $link-post-img; ?>

O código do timthumb ficará assim:

<img src="<?php bloginfo('template_directory'); ?>/scripts/timthumb.php?src=<?php echo $link-post-img; ?>&w=322&h=206&zc=1">

Para usar o código acima, se deve alterar o caminho de instalação do script (se necessário) e as informações das dimensões do thumbnail que será gerado.

Conclusão

A grande vantagem no uso de custom fields em conjunto com o timthumb é que possibilitamos que haja uma miniatura/thumbnails diferente para cada artigo/post (o que convenhamos, é indispensável).

Ainda temos o inconveniente de o usuário poder se esquecer de colocar o link da imagem no custom field, mas este problema será sanado com um futuro artigo, onde mostrarei como colocar o link de uma imagem no custom field de forma automática.

10 Comentários

    WordPress: Gere thumbnails (miniaturas) automaticamente com o ThimThumb | ZackShinra

    [...] Aqui é o link da imagem original que será redimensionada. Ao invés de usar um link estático, você pode usar um custom field (campo personalizado) dentro do laço do post (veja o post: Usando Custom Fields no ThimThumb). [...]

    16 de dezembro de 2009 às 16:35
    1

    Levi

    Olá, estou precisando de uma ajuda.
    Utilizei este tutorial e um outro que encontrei na net para inserir a biografia do autor ao final de cada post mas gostaria de aprender a criar um campo personalizado para que pudesse escolher em quais posts apareceriam as informações da biografia.
    Você poderia me ajudar?
    Obrigado.

    4 de janeiro de 2010 às 21:03
    2

    Lauro Adriano

    @Levi

    Se entendi bem, vc já criou o local para aparecer a biografia no post (modificando provavelmente o single.php), agora vc quer fazer algo para determinar se o post ira ou não usar este recurso.

    Uma opção seria usar uma condição IF para checar se o campo que deve receber a biografia está vazia ou não. Caso esteja vazia, ele não traz nada que esteja dentro dele, se tiver algo, ele traz o conteúdo que você determinar:

    Ex:
    <?php // função para checar cf e mostrar o conteudo
    $key='seu_cf'; $prev_value = get_post_meta($post->ID, $key, true); //retorna o que tem no cf
    if ($prev_value != '') { // caso cf não esteja vazio
    echo '<h1>Biografia</h1>';
    echo $prev_value; // mostra o conteudo do cf
    }
    ?>

    Espero que tenha ajudado.

    5 de janeiro de 2010 às 7:03
    3

    Levi

    É isso mesmo que você entendeu.Criei o campo da biografia e inseri no post(no single.php) mas a biografia aparece em todos os posts.Queria fazer com que eu pudesse escolher em qual post ela deveria aparecer.

    Usei o código que você me escreveu mas Não consegui… Inseri este código no início do cod. da biografia mas quando adiciono o cf no post só consigo retornar textos do campo valor…

    Provavelmente não estou sabendo fazer corretamente… se você puder me ajudar mais uma vez agradeço.

    Acho que você vai precisar “desenhar” p/ que eu entenda… ainda estou começando… não sei quase nada…

    Obrigado mais uma vez.

    6 de janeiro de 2010 às 0:43
    4

    Lauro Adriano

    Levi
    Me manda o seu msn pelo formulário de contato para podermos entender melhor esse seu problema.

    6 de janeiro de 2010 às 8:44
    5

    Michelly

    Olá, achei esse artigo buscando sobre timthumb no google,
    estava pesquisando, porque escolhi um tema muito legal pro meu uso, só que as imagens não estão sendo exibidas, então dei uma olhada nós códigos, apesar de não entender muito, e acho que o problema esteja relacionado a isso.
    No tema já tem até o arquivo timthumb.php e a ‘case sensitive’ é ‘preview’, que o guia diz funcionar tanto pro slide quanto pras imagens, mas não tem dado certo, apesar de eu deixar o campo personalizado com vem sugerido no guia…
    Poderia me dar uma ajuda?
    Meu tema é esse ai:
    http://www.jinsonathemes.com/demo/?themedemo=touchriver
    Incrível que na demo ele funciona perfeitamente…

    21 de janeiro de 2010 às 9:35
    6

    Levy

    Lauro, ainda não consegui fazer funcionar…
    Só consigo que apareça a formatação da biografia.Inseri o código acima do perfil.Você poderia me ajudar mais uma vez!???

    Obrigado.

    Ficou assim:

    ID, $key, true); //retorna o que tem no cf
    if ($prev_value != '') { // caso cf não esteja vazio
    echo '';
    echo $prev_value; // mostra o conteudo do cf
    }
    ?>

    21 de janeiro de 2010 às 23:48
    7

    Levy

    ID, $key, true); //retorna o que tem no cf
    if ($prev_value != '') { // caso cf não esteja vazio
    echo 'Biografia';
    echo $prev_value; // mostra o conteudo do cf
    }
    ?>

    22 de janeiro de 2010 às 2:41
    8

    Fernando Almeida

    alguem pode me ajudar Lauro ja tentei de tudo entra no meu site
    http://www.gridsp.com
    tavendo o slide? n consigo fazer aparecer as imagens la so aparece os nomes nos quadrados.
    q q eu devo fazer? meu msn é mumia2@msn.com

    20 de fevereiro de 2010 às 16:12
    9

    Lauro Adriano

    Entrei no site indicado, parece que agora está tudo ok. Lembrem se sempre de ver se a pasta onde devem ser gravados as miniaturas estão com permissões para gravação (chmod).

    22 de fevereiro de 2010 às 9:17
    10

Deixe seu Comentário

Os campos marcados com asteristico (*) são obrigatórios. O seu e-mail não será publicado.

Sobre o Artigo

Este artigo foi visualizado 740 vezes, e possui 10 comentários.

Tags: , , , ,