Muitas vezes quando vamos montar um layout precisar listar os posts em algum local especifico e também de determinada categoria. Muitas vezes os Plugins não atendem nossa necessidade ou também você não quer baixar uma biblioteca por algo simples e deixar seu site lento.
No wordpress isso pode ser feito com um loop utilizando um WP_query cm PHP
Essa wp_query porde receber vairas querystring como se fosse um filtro que irá selecionar os posts desejados no banco de dados mysql
Esse código abaixo é uma loop de posts da categoria com a ID=1 selecionando os 4 últimos posts.
<ul>
<?php
$recent = new WP_Query("cat=1&showposts=4");
while ($recent->have_posts()) : $recent->the_post();
?>
<li>
<a href="<?php the_permalink() ?>" class="home-post"> <?php if ( has_post_thumbnail() ) {the_post_thumbnail();} ?>
<span><?php echo get_the_date( 'Y-m-d' ); ?></span>
<span class="caixa-aconteceu-titulo"><?php the_title(); ?></span>
</a>
</li>
<?php endwhile; ?>
</ul>
Na linha $recent = new WP_Query("cat=1&showposts=4");
em cat=1 você vai precisar colocar o ID da categoria e em showposts=4 o numero de post que irá aparecer
Como saber o ID da categoria?
No painel wordpress acesse Posts » Categorias e clique no nome da categoria. O WordPress vai abrir a categoria em um editor, e você será capaz de ver o ID da categoria na barra de endereços do seu navegador.

Outros filtros para o post
Para acrescentar outros outros filtros acrescente depois de showposts=4 o caractere & e em seguido o parâmetro igual foi feito com a categoria e numero de posts
- Selecionar por autor pelo nick: author_name=nickname
- Selecionar por Tag: tag_id=ID da Tag
- Apenas Posts Publicados: post_status=publish
- Ordenando por ordem alfabética: orderby=title
- Ordenando por data: orderby=date
- Aleatório: orderby=rand
- Crescente: order=ASC
- Decrecente: order=DESC
Você precisa fazer o login para publicar um comentário.