web-dev-qa-db-fra.com

Ajouter le nom de la classe à la vignette

J'utilise des miniatures de publication pour créer un lien vers une page.

Est-il possible d'ajouter un nom de classe à la vignette du message?.

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

Oui, vous pouvez transmettre la classe que vous souhaitez utiliser à the_post_thumbnail() en tant que partie de l'argument d'attribut, par exemple <?php the_post_thumbnail('thumbnail', array('class' => 'your-class-name')); ?>.

Réf: http://codex.wordpress.org/Function_Reference/the_post_thumbnail#Styling_Post_Thumbnails

39
sabreuse

Vous pouvez filtrer ces 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'); 

Ajoutez le filtre juste avant d'appeler the_post_thumbnail. Le filtre se retirera automatiquement.

Il faut un peu de chemin pour y arriver mais the_post_thumbnail utilise get_the_post_thumbnail qui utilise wp_get_attachment_image qui applique ce filtre.

5
s_ha_dum

Votre balise d'image n'a pas de classe vous écrivez simplement ce code <?php the_post_thumbnail(); ?> mais votre balise d'image a une classe vous écrivez juste ce code

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

)); ?>
0
sujan