Yayın küçük resmine sınıf adı ekle


21

Bir sayfaya bağlantı vermek için gönderi küçük resimleri kullanıyorum.

Gönderi küçük resmine bir sınıf adı eklemek mümkün mü?

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

Yanıtlar:


42

Evet - the_post_thumbnail()örneğin bağımsız değişkenlerin bir parçası olarak kullanmak istediğiniz sınıfı iletebilirsiniz.<?php the_post_thumbnail('thumbnail', array('class' => 'your-class-name')); ?>

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


5
Ancak bu, sınıfı kaldıracaktır attachment-$size.
fuxia

Ama "eklenti- $ size sınıfımın adı" sınıfını ekleyebilir misiniz
Simon Cooper

@SimonCooper yaptım ve sınıf şimdi eki var - boyut olmadan.
Zhianc

Bu genellikle kötü ve jenerik olmayan bir çözümdür. Hatta sabit kodlama eki - $ size, gelecekteki tüm olası enjeksiyonları siler.
Füzyon

7

Bu sınıfları filtreleyebilirsiniz.

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'); 

Filtreyi aramadan hemen önce ekleyin the_post_thumbnail. Filtre kendini otomatik olarak kaldıracaktır.

Bu trek biraz orada ama elde etmektir the_post_thumbnailkullanımları get_the_post_thumbnailhangi kullanımları wp_get_attachment_imagesöz konusu filtreyi uygular.


'Alter_attr_wpse_102158' işlev adının özel bir anlamı var mı? Bu işlev myClass olarak adlandırılabilir - işlev myClass ($ attr) {
Simon Cooper

Adı biraz açıklayıcı ve sonek bu soruya atıfta bulunuyor. Aksi takdirde, özel bir anlamı yoktur. Bir sınıfın içinden bir eklenti class-- kullanabilirsiniz söylemek instance-- array($this,'methodname')ve kullanmakta tarafından filtrelerle statik sınıfları kullanabilirsinizarray('ClassName','methodname')
s_ha_dum


1
Neden kendisini kaldıran bir filtre ekliyorsunuz?
AlxVallejo

2
@AlxVallejo: Böylece çalışmasını istediğiniz belirli durumda yalnızca bir kez çalışır.
s_ha_dum

0

Resim etiketinizin sınıfı yok, sadece bu kodu yazıyorsunuz, <?php the_post_thumbnail(); ?>ancak resim etiketinizin sınıfı var, sadece bu kodu yazıyorsunuz

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

)); ?>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.