Stai cercando un modo per aggiungere una classe al primo post nel Loop? Questo snippet aggiungerà una classe first al primo post nel Loop, il che ti permetterà di aggiungere uno stile unico al primo post.
Istruzioni:
Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:
add_filter( 'post_class', 'wps_first_post_class' );
function wps_first_post_class( $classes ) {
global $wp_query;
if( 0 == $wp_query->current_post )
$classes[] = 'first';
return $classes;
}
Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come copiare / incollare correttamente snippet di codice in WordPress, in modo da non rompere accidentalmente il tuo sito.
Se ti è piaciuto questo snippet di codice, prendi in considerazione la lettura dei nostri altri articoli sul sito come: Recensione di CSS Hero.
Hai qualche idea sul perché questo non funzioni con lo shortcode di woo? Aggiunge una classe a ogni prodotto nel loop. Funziona bene nella pagina del negozio.
Quale shortcode stai usando?
Ciao,
Ha funzionato benissimo, tuttavia, se ho la paginazione e vado, diciamo, alla pagina 2, aggiunge la classe al primo post della pagina 2, cosa che non desidero particolarmente. Come potrei aggiornare il codice per aggiungere la classe 'first' al primo post di tutti i post, contando anche quelli paginati.
Grazie mille per l'articolo, è stato molto utile! :)
aggiungi solo questa condizione if( 0 == $wp_query->current_post && get_query_var('paged') == 0 ) : ?>
Sì! per aggiungere una classe 'last' al post, è sufficiente aggiungere una condizione come $wp_query->current_post === $wp_query->found_posts?
Qualcosa del genere dovrebbe funzionare,
if( $wp_query->current_post == $wp_query->post_count-1 )
Grazie amico, ero insicuro sul fatto che found_posts partisse da 0 (colpa mia). Tuttavia, in alcuni casi post_count non è la scelta giusta perché contiene il numero totale di post visualizzati. L'uso di found_posts o post_count dipende da quale query è stata eseguita, post_count ha lo stesso valore di "posts_per_page" se è definito in una query o il valore predefinito definito nelle impostazioni di lettura (scusa per il mio inglese).
Ciao Widzo, penso che dipenda dai risultati che desideri, se vuoi aggiungere la classe all'ultimo post di ogni pagina useresti "post_count" solo all'ultimo post useresti "found_post"
ottimo! E se volessi aggiungere una classe sempre alla quarta colonna del loop? Ad esempio, ho un loop che mostra i miei post in 4 colonne e ho bisogno di aggiungere questa classe alla colonna di destra. Come posso fare?
Grazie
Ciao Fabio, avrei bisogno di vedere il tuo loop di colonne per capire cosa sarebbe necessario fare.