Suporte » Temas » Destacar somente o primeiro post de uma categoria

  • Resolvido Victor Gonçalves

    (@vichenri)


    Olá pessoal, sou novo por aqui e gostaria de saber como faço para destacar apenas o primeiro post de uma categoria.
    Na verdade tudo o que preciso é que esse primeiro post tenha um tamanho e cor diferentes para a fonte para dar o destaque que preciso, ou seja, como aplico um estilo diferente apenas no primeiro post de uma categoria sem ter que fixá-lo?

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • Talvez seja só fixar o post e ele ficará com visual diferente, (porém ficará fixo).

    Se é para todos os primeiros posts sempre ficarem diferentes, você pode tentar o que diz neste tópico.

    Se é para um post em especial ficar destacado, você pode usar a classe do post para estilizá-lo, olhando o código gerado, cada bloco de post vem uma classe própria, ex.: post-id-23, dai só criar um estilo baseado nesta classe:

    .post-id-23 {background:#ccc}
    Criador do tópico Victor Gonçalves

    (@vichenri)

    Obrigado pela ajuda Diana, o que preciso seria que todos os primeiros posts de uma categoria sempre ficassem diferentes mesmo.
    Mas não estou conseguindo seguir direito o tutorial do link que vc informou porque não tenho muito conhecimento em PHP…
    Vc se importa em me explicar melhor?

    Oi,

    Achei algo mais prático, só adicionar isso no functions.php do tema:

    add_filter( 'post_class', 'mark_first_post' );
    
    function mark_first_post( $classes )
    {
        remove_filter( current_filter(), __FUNCTION__ );
        $classes[] = 'primeiro-post';
        return $classes;
    }

    Dai spo criar uma classe:

    .primeiro-post {background:#ccc}

    Se você só quer estilizar para uma categoria ex.: “Carros”:

    .category-carros .primeiro-post {background:#ccc}

    Criador do tópico Victor Gonçalves

    (@vichenri)

    Acho que não estou sabendo aplicar…
    Tenho o seguinte código:

    <div class="business-news">
      		<?php $businessIndex=0;?>
    
          <!-- Entries below the featured section -->
          <div id="business-news-section" ><?php echo get_option('business-news-text'); ?> </div>
    
          <?php $otherFeaturedPost = new WP_Query();$otherFeaturedPost->query('showposts=4&cat='.get_option('business-news-category').'&offset=0'); ?>
    
          <?php while ($otherFeaturedPost->have_posts()) : $otherFeaturedPost->the_post(); ?>
    
          <div class="business-news-wrapper" >
    
    	      <?php if ($businessIndex==0) {?>
          		<a>" rel="bookmark">
    
    					<?php if(get_option('thumbok')!="yes"):?>
              <img src="<?php bloginfo('template_directory'); ?>/includes/timthumb.php?src=<?php echo get_post_meta($post->ID, 'image',true) ?>&w=80&h=80&zc=1" class="thepart1bimg" />
              <?php endif?>
              <?php if(get_option('thumbok')!="no"):?>
              <span class="business-news-img">
    
              </span>
              <?php endif?>
              </a>
            <?php }?>
            <div class="business-news-title"><a>" rel="bookmark">
    
              <?php the_title() ?>
              </a>
    
              <?php if ($businessIndex==0) {?>
    
              <div class="business-news-date" style="background-image:url(screenshot.png)">
    
              </div><!-------- Fim da div business-news-date ---------------------------->
              <?php }?>
            </div><!---------- Fim da div business-news-title---------------------------->
            <?php if ($businessIndex==0) {?>
    
             <?php }?>
          </div><!------------- Fim da div business-news-wrapper ------------------------>
          <?php $businessIndex++; $c++; endwhile; wp_reset_query(); ?>
          <div style="clear:both"> </div>
        </div><!---------------- Fim da div business-news ------------------------------->
    
        <?php } //End business news (Only display if is home)?>

    Como faço?

    Criador do tópico Victor Gonçalves

    (@vichenri)

    Diana, consegui!
    Fiz o seguinte, inseri o código que você passou no function.php e coloquei também esse código na div:

    <?php if($businessIndex==0) { ?> primeiro-post<?php } ?>

    que ficou assim:

    <div class="business-news-title<?php if($businessIndex==0) { ?> primeiro-post<?php } ?>"><a href="<?php the_permalink() ?>" rel="bookmark">
    
              <?php the_title() ?>
              </a>

    Muito obrigado pela ajuda!

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • O tópico ‘Destacar somente o primeiro post de uma categoria’ está fechado para novas respostas.