Está procurando uma maneira de adicionar uma classe à primeira postagem no The Loop? Esse snippet adicionará uma primeira
classe à primeira postagem no The Loop, o que permitirá que você adicione um estilo exclusivo à primeira postagem.
Instruções:
Tudo o que você precisa fazer é adicionar esse código ao arquivo functions.php do seu tema ou em um plug-in específico do site:
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; }
Observação: Se esta é a primeira vez que você adiciona trechos de código no WordPress, consulte nosso guia sobre como copiar/colar corretamente trechos de código no WordPress para não danificar seu site acidentalmente.
Se você gostou desse snippet de código, considere dar uma olhada em nossos outros artigos no site, como: Revisão do CSS Hero.
Any idea why this does not work with woo shortcode? It adds class to each product in the loop. It works ok at the shop page.
Which shortcode are you using?
Hi,
This has worked great, however, if I have pagination and i go, say, page 2, it adds the class to the first post on page 2, which I don’t particularly want. How would I be able to update the code to add the ‘first’ class to the first post of all the posts, even counting those paginated.
Thanks a lot for the article it’s been very helpful! 🙂
just add this condition if( 0 == $wp_query->current_post && get_query_var(‘paged’) == 0 ) : ?>
Yeah! for adding a last class to the post, need only to add a condition like $wp_query->current_post === $wp_query->found_posts?
Something like this should work,
if( $wp_query->current_post == $wp_query->post_count-1 )
Thank you man, i was unsafe about found_posts start from 0 (my bad). However, in same cases post_count isn’t a right choice because it contain the total number of posts being displayed. The use of found_posts or post_count depend which query had been performed, post_count have the same value of “posts_per_page” if is defined in a query or the default value defined into the read settings (sorry for my english).
Hi Widzo, I think it depends on the results you want, if you want to add the class to the last post on every page you would use “post_count” on the very last post only you would use “found_post”
great! And if I want to add a class always to the fourth column of the loop? For example, I have a loop showing my posts into 4 columns and I need to add this class to the right column. How can I do that?
Thanks
Hi Fabio, I would need to see your columns loop in order to see what would need to be done.