Finalmente um código que funciona e não precisa ficar digitando nada no custom field do seu post no wordpress, inclusive estou usando no blog.
Pra quem não sabe, esse código é pra mostrar uma miniatura da imagem no seu post. Se clicar em uma das tags ou categorias aqui no blog, verá um exemplo do que estou dizendo.
Salve o código abaixo no functions.php do seu tema:
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='{$post_title}' {$add} />";
}
else {
print "<img src='http://seusite.org/images/thumb-default.jpg' alt='{$post_title}' {$add} />";
}
}
E no index.php do seu tema (ou no arquivo desejado, desde que seja onde tem o código que gera o post), adicione um dos código abaixo:
Pra usar o thumbnail que é gerado pelo próprio wordpress:
Se quiser colocar alguma configuração de css, largura e altura:
Se você quiser, pode usar a imagem "medium" gerada pelo wordpress. Só trocar o nome thumbnail no código acima por medium.
Esse código pega a primeira imagem do post, mas não necessariamente a imagem usada no post. É que quando você faz upload de imagens na hora que está postando, ele pega pela ordem de upload. E isso também significa que você não é obrigado a usar imagens pra que ela apareça ali. Só faz o upload dela enquanto estiver postando, mas não insere no post. E caso não tenha uma imagem, ele pega a default (altere a url no código que vai no functions.php).
Eu vi esse código no blog do Marcelo Mesquita e só adicionei no final do código o else pra mostrar uma imagem caso o post não tenha nenhuma.





Oi, Dani.
Só dê uma acertada no código que printa o , pois ele está errado. As aspas após o "alt=" não estão fechando corretamente.
Imagino que você quisesse colocar alt=", e não alt=", pela lógica da função.
[]s
Eu estava usando aspas simples, mas agora percebi que depois que publiquei o post, ele interpretou como aspas duplas.
Já arrumei lá.
Ai que bom e o pior que é um código difícil de se achar.
A muito tempo eu peguei um theme base seu para wordpress e modifiquei mas não me lembro de etr agradecida. Então, obrigada por um dia ter disponibilizado pois meu layout original é lindo e como não sei fazer do zero foi fundamental para que eu pudesse fazer e acontecer lá: http://www.simbologiamaldita.com
Dani..estou adorando todos os conteúdos q tem colocado no seu blog!! Adoreiii!
Olha só…adorei o Random na sua sidebar de seus posts…Isto é um plugin? Como faço pra fazer isso tbm?
E O related posts seu? Apaixonei…Tipo, ele parece um linkwithin! É um plugin? como posso ter esse tbm no blog…
Desde já agradeço se puder dar as dicas…!
Assim que der, faço tutorial dos dois ;)
Pra esse código funcionar as imagens precisam estar hospedadas no meu servidor?
Sim. Tem explicando lá no tutorial de thumbnails.
Deu erro quando tentei. Diz que tem um erro na linha 69 do meu functions.php
O que mais vc tem no seu functions.php? Esse código aí não dá 69 linhas. Vê qual código está na linha 69 dele.
Eu consegui, estava lendo seu tutorial do arquivo e vi onde estava errando. Obrigada!
Já tentei umas 3 vezes fazer esse tutrial e da este erro .
Qual erro que dá?
ps: não cole o código aqui porque ele n mostra tudo, cole apenas o erro que gerou.
ha ta . ele fica aparecendo no topo do site o codigo .
Você criou um arquivo functions.php e colocou na pasta do tema? Daí adicionou o código lá e o outro onde quer que apareça?
E isso é pra wordpress instalado em servidor próprio, não é pra wordpress.com
Criei o arquivo functions.php e coloquei na pasta do tema, e o wordpress esta instalado num servidor proprio sim.
Mas não aparece um erro, tipo "erro na linha tal" ? Ou "erro 500" ?
Só aparecer o código no topo do layout eu não sei te dizer o que fazer. Eu já fiz isso várias vezes aqui e nunca tive erro assim.