Aggiungi il nome della classe per pubblicare l'anteprima


21

Sto usando le miniature dei post per creare un collegamento a una pagina.

È possibile aggiungere un nome di classe all'immagine in miniatura del post.

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

Risposte:


42

Sì - è possibile passare la classe che si desidera utilizzare the_post_thumbnail()come parte dell'argomento degli attributi, ad esempio<?php the_post_thumbnail('thumbnail', array('class' => 'your-class-name')); ?>

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


5
Ma questo rimuoverà la classe attachment-$size.
fuxia

Ma puoi aggiungere la classe "attach- $ size my-class-name"
Simon Cooper

@SimonCooper l'ho fatto e la classe ora ha un allegato, senza le dimensioni.
Zhianc,

Questa è generalmente una soluzione sbagliata e non generica. Anche un allegato hardcoding - $ size, cancella tutte le possibili iniezioni di classe future.
Fusion,

7

Puoi filtrare quelle classi.

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

Aggiungi il filtro subito prima di chiamare the_post_thumbnail. Il filtro si rimuoverà automaticamente.

Arrivare è un po 'difficile ma the_post_thumbnailusa gli get_the_post_thumbnailusi wp_get_attachment_imageche applicano quel filtro.


Il nome della funzione 'alter_attr_wpse_102158' ha un significato particolare? Questa funzione può essere chiamata myClass - function myClass ($ attr) {
Simon Cooper,

Il nome è in qualche modo descrittivo e il suffisso fa riferimento a questa domanda. Altrimenti, nessun significato particolare. Dall'interno di un'istanza di array($this,'methodname')array('ClassName','methodname')
classe-- dì


1
Perché stai aggiungendo un filtro che si rimuove da solo?
AlxVallejo,

2
@AlxVallejo: in modo che venga eseguito solo una volta nella particolare circostanza in cui si desidera che funzioni.
s_ha_dum,

0

Il tuo tag immagine non ha una classe in cui scrivi questo codice <?php the_post_thumbnail(); ?>ma il tag immagine ha una classe in cui scrivi questo codice

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

)); ?>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.