Como mostrar os ultimos posts de uma categoria

Fonte: Sara Vieira/DicasWP

Muitas vezes na nossa página inicial queremos ter apenas uma categoria de artigos, e não os últimos artigos de todas as categorias pois nem todas podem interessar, e é isto que vou explicar como se faz hoje, mostrar os últimos artigos de uma especifica categoria.

Para conseguirmos isto necessitamos de usar a função query posts e esta função é a nossa maneira de conseguir alterar os posts que o WordPress coloca na página, pode ser usado para diversas coisas mas neste casos vamos falar das categorias e numero de posts por página.

Começamos com um loop de WordPress completamente normal:

<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
 <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
 <small><?php the_date('d/m/Y') ?> by <?php the_author_posts_link() ?></small>
 <div class="artigo">
   <?php the_content(); ?>
 </div>
 <p class="postmetadata">Na categoria <?php the_category(', '); ?></p>
<h6><?php comments_popup_link('Sem Comentários »', '1 Comentário »', '% Comentários »'); ?></h6>
 <?php endwhile; else: ?>
 <p>Não existe nenhum post.</p>
 <?php endif; ?>

Mas isto mostrará os últimos posts que houve em todas as categorias, e é nesta parte que o query_posts entra em ação, limitando o numero de posts que são mostrados na página e a categoria a que eles pertencem, depois do if e antes do while adicionamos:

<?php query_posts("category_name=atuacategoriaaqui&posts_per_page=3");

Como podem ver aqui apenas colocamos a categoria da qual queríamos ver os artigos e colocamos um máximo de 3 posts por página e um & entre os dois. Após isto temos que fazer um reset ao loop do WordPress para o query_posts não entrar em conflitos mais tarde com outras páginas, então no final do nosso loop, depois do end if colocamos:

<?php wp_reset_query();?>

O código completo é:

<?php if ( have_posts() ) : ?>
 <?php query_posts("category_name=atuacategoriaaqui&posts_per_page=3"); ?>
<?php while ( have_posts() ) : the_post(); ?>
 <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
 <small><?php the_date('d/m/Y') ?> by <?php the_author_posts_link() ?></small>
 <div class="artigo">
   <?php the_content(); ?>
 </div>
 <p class="postmetadata">Na categoria <?php the_category(', '); ?></p>
<h6><?php comments_popup_link('Sem Comentários »', '1 Comentário »', '% Comentários »'); ?></h6>
 <?php endwhile; else: ?>
 <p>Não existe nenhum post.</p>
 <?php endif; ?>
<?php wp_reset_query();?>

E está concluído, de uma maneira mais simples que secalhar muitos de vocês pensaram. Na nossa página inicial só irá mostrar no máximo 3 posts e todos da mesma categoria.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *