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>

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


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.


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'

)); ?>
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.