Adicionar nome da turma para postar miniatura

21

Estou usando miniaturas de postagem para vincular a uma página.

É possível adicionar um nome de classe à imagem em miniatura da postagem.

<li><a href="<?php the_permalink(); ?>" ><?php the_post_thumbnail(); ?></a></li>
Simon Cooper
fonte

Respostas:

42

Sim - você pode passar a classe que deseja usar the_post_thumbnail()como parte do argumento dos atributos, por exemplo<?php the_post_thumbnail('thumbnail', array('class' => 'your-class-name')); ?>

Ref: http://codex.wordpress.org/Function_Reference/the_post_thumbnail#Styling_Post_Thumbnails

sabreuse
fonte
5
Mas isso removerá a classe attachment-$size.
fuxia
Mas você pode adicionar a classe "$ size attachment- minha classe-name"
Simon Cooper
@SimonCooper eu fiz e a classe agora tem anexo - sem o tamanho.
Zhianc 27/04/2015
Geralmente, essa é uma solução ruim e não genérica. Mesmo o tamanho do anexo codificado, apaga todas as possíveis injeções de classe futuras.
Fusion
7

Você pode filtrar essas classes.

function alter_attr_wpse_102158($attr) {
  remove_filter('wp_get_attachment_image_attributes','alter_attr_wpse_102158');
  $attr['class'] .= ' new-class';
  return $attr;
}
add_filter('wp_get_attachment_image_attributes','alter_attr_wpse_102158'); 

Adicione o filtro imediatamente antes de ligar the_post_thumbnail. O filtro se removerá automaticamente.

É um pouco de caminhada chegar lá, mas the_post_thumbnailusa get_the_post_thumbnailquais usos wp_get_attachment_imageque aplicam esse filtro.

s_ha_dum
fonte
Será que o nome da função 'alter_attr_wpse_102158' têm um significado particular poderia esta função ser chamado myClass - myClass função ($ attr) {
Simon Cooper
O nome é um tanto descritivo e o sufixo faz referência a essa pergunta. Caso contrário, nenhum significado particular. De dentro de uma instância de classe - digamos, uma classe de plug-in - você pode usar array($this,'methodname')e pode usar classes estáticas com filtros usandoarray('ClassName','methodname')
s_ha_dum
11
Por que você está adicionando um filtro que se remove?
AlxVallejo 29/09
2
@AlxVallejo: Para que seja executado apenas uma vez na circunstância específica em que você deseja que seja executado.
S_ha_dum 29/09/2013
0

Sua tag de imagem não tem classe, basta escrever esse código, <?php the_post_thumbnail(); ?>mas sua tag de imagem tem classe, basta escrever esse código

<?php the_post_thumbnail('thumbnail', array(
'class' => 'class_name'

)); ?>
sujan
fonte