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



Responder