Dominando WP_Query: 10 Exemplos Úteis

Agora que aprendemos quase tudo sobre o WP_Query classe, é hora de experimentar alguns exemplos. Nesta parte, vamos trabalhar em 10 cenários diferentes para utilizar o WP_Query classe e funções relacionadas.

Será um exercício divertido e espero que seja igualmente educativo. Vamos começar!

Um lembrete rápido sobre como criar um loop com WP_Query

Apenas para tornar este artigo compreensível separadamente da série “Mastering WP_Query”, devo fazer um nano-tutorial sobre como criar loops do WordPress com o WP_Query classe.

Não é diferente de criar um loop regular, na verdade. Um loop típico do WordPress é assim:

E criando um loop com o WP_Query classe tem apenas algumas diferenças:

Vamos ver a diferença entre os dois:

  • Estabelecemos alguns argumentos para nossa WP_Query instância,
  • Nós instanciamos o WP_Query classe,
  • Nós adicionamos $my_query-> ao início do have_posts() e the_post() funções (então eles agora são os métodos do WP_Query classe),
  • E nós redefinimos os dados de $post para que possa retornar à consulta principal.

Agora sabemos como criar um loop com WP_Query e a diferença entre um loop regular e um loop criado com WP_Query. Não vamos criar loops em todos os exemplos (para manter o tutorial curto e dentro do tópico), então você pode consultar esta seção se precisar criar um loop com os exemplos abaixo.

Exemplo nº 1: postagens de um autor neste ano

Digamos que você queira listar as postagens de um autor específico escritas no ano atual em uma seção especial “Postagens do autor este ano”. Uma simples combinação de dois WP_Query parâmetros serão suficientes:

Passe esta consulta em um loop e pronto!

Exemplo #2: “Últimas postagens desta categoria” (exceto a postagem atual)

Digamos que você queira criar um loop sob cada postagem em suas páginas de postagem única e listar as postagens mais recentes da categoria em que a postagem está. Claro, você deve excluir a postagem atual caso ela seja uma das últimas postagens dessa categoria. Veja como você cria a consulta com o 'cat' e 'post__not_in' parâmetros:

Para o loop, sugiro criar três ou quatro colunas com miniaturas de postagens acima dos títulos das postagens. Vai ficar muito legal logo abaixo do post e antes da seção de comentários.

Exemplo nº 3: “Postagens mais populares” ordenadas por contagem de comentários

O WordPress não possui um sistema embutido de “contagem de visualizações de postagem”, e os plugins que fornecem essa funcionalidade são famosos por deixar o site mais lento (porque em cada visualização de postagem, os plugins gravam no banco de dados repetidamente para gravar a visualização conta). No entanto, há outro tipo de medida para determinar quais postagens são mais “populares”: contar comentários. E, diferentemente das contagens de visualizações, as contagens de comentários já estão no banco de dados – o WP_Query class torna super fácil ordenar postagens por contagem de comentários:

Veja como isso é fácil? Agora imagine criar um modelo de página personalizado com um loop executando essa consulta – uma página “Postagens mais comentadas”.

Exemplo nº 4: uma configuração simples de controle deslizante

Ao usar o WordPress para criar sites corporativos, portfólios ou revistas na web, os controles deslizantes se tornaram um padrão industrial “obrigatório”. Não sou muito fã de sliders (acho ruim UX), mas a web parece gostar, então não posso simplesmente dizer não aos meus clientes enquanto faço sites para eles. Se eles querem controles deslizantes, eu uso uma consulta simples usando o WP_Query classe:

o 'cat' O argumento pode ser usado para recuperar slides de diferentes categorias para que você possa separar grupos de slides e usar vários controles deslizantes em várias páginas. Se você for usar apenas um controle deslizante em seu site, poderá excluir essa linha e pronto.

Exemplo #5: Uma cotação aleatória na barra lateral

Se você gosta de literatura ou religião, você pode querer ter algumas de suas citações favoritas na barra lateral – não é um desperdício de espaço se você usar a área com um propósito. Portanto, se você for listar uma citação aleatória em sua barra lateral em cada visualização de página, poderá usar o seguinte trecho de código para criar o tipo de postagem e usar a seguinte consulta para criar um loop em sua barra lateral:

Uma solução fácil e elegante.

Exemplo nº 6: listando produtos entre uma faixa de preço

Encontrei este exemplo no Scribu.net e devo dizer que pode ser o melhor WP_Query truque neste tutorial. É um pouco mais técnico do que os outros também, porque pode ser aplicado a um site de comércio eletrônico com WordPress neste contexto.

Aqui está o snippet de código que você usará se quiser listar itens de um tipo de postagem “Produto” personalizado e filtrar os resultados com os campos personalizados “preço”:

Um grande abraço a Silviu-Cristian Burca!

Exemplo nº 7: um código de acesso para incorporar postagens dentro de postagens

Aqui está um exercício divertido – e podemos usar a API Shortcode também! Neste exemplo, vamos criar um shortcode que pode incorporar uma postagem em uma postagem. (Eu mal me contive ao nomear o shortcode [postception].) No trecho de código a seguir, criamos uma função shortcode que nos permite incorporar postagens (ou qualquer tipo de postagem personalizada) e nos permite escolher se queremos mostrar a postagem completa ou apenas um trecho:

Exemplo nº 8: Lista de postagens agendadas atuais (com trechos opcionais)

Aqui está uma ideia: por que você não exibe alguns “sneak peeks” de suas próximas postagens para seus visitantes? Você pode usar a seguinte função para listar suas postagens agendadas com ou sem trechos após os títulos:

Exemplo #9: “Post de um ano atrás hoje”

Se o seu blog tiver mais de um ano e seu conteúdo for atemporal (o que significa que uma pessoa de 2015 e 2025 achará o artigo relevante), adicionar uma seção “Postar de um ano atrás hoje” pode aumentar suas visualizações de página. Aqui está como você faz isso:

Use esta consulta para criar um loop que exibe uma única postagem do passado.

Exemplo nº 10: Mostrar filhos da página atual

Você não tem nada além de títulos de subpáginas para colocar dentro de sua página “Serviços”, “Nossos Trabalhos” ou “Meu Portfólio”? Talvez um parágrafo de introdução, mas você está certo, essas páginas estão fadadas a serem “espaços reservados”. Ainda assim, é uma boa ideia colocar subpáginas lá – talvez uma grade com miniaturas quadradas e títulos abaixo. Vamos ver qual consulta devemos usar ao criar esse modelo de página:

Empacotando

Espero que tenham gostado desses exemplos tanto quanto eu gostei ao prepará-los. Eu prestei atenção especial em dar exemplos variados tanto para ser divertido quanto para estimular sua criatividade.

Se você pensou em exemplos melhores ao ler estes, ou tiver dúvidas, não hesite em fazer um comentário abaixo. E se você gostou do artigo, não se esqueça de compartilhar com seus amigos!

Na próxima parte, falaremos sobre WP_User_Queryuma das classes irmãs de WP_Query. Vejo você então!

Deixe um comentário

O seu endereço de e-mail não será publicado.