X

Como adicionar uma classe à primeira postagem no The Loop

Snippets by IsItWP

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.

Comentários   Deixe uma resposta

  1. Marek Jakubčík abril 18, 2021 em 9:59 pm

    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.

    1. Which shortcode are you using?

  2. 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! 🙂

    1. just add this condition if( 0 == $wp_query->current_post && get_query_var(‘paged’) == 0 ) : ?>

  3. Yeah! for adding a last class to the post, need only to add a condition like $wp_query->current_post === $wp_query->found_posts?

    1. Something like this should work,
      if( $wp_query->current_post == $wp_query->post_count-1 )

      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).

        1. 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”

  4. 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

    1. Hi Fabio, I would need to see your columns loop in order to see what would need to be done.

Adicionar um comentário

Ficamos felizes por você ter optado por deixar um comentário. Lembre-se de que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

WordPress Launch Checklist

A lista de verificação definitiva para o lançamento do WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento de seu próximo site WordPress em um ebook prático.
Sim, envie-me o livro eletrônico gratuito grátis!