Executar Consultas em WordPress com WP_Query

Postado em WordPress por Samantha Rodriguez

atualizada por Último sobre 24 de fevereiro, 2020

O banco de dados que alimenta o seu site WordPress está cheio de informações valiosas. Isto é o que torna possível filtrar seus posts e páginas por muitas variáveis diferentes. Se o que você quer exibir não é parte de seu tema, no entanto, existem outras maneiras de usar esses dados.

é aqui que entra a WP_Query. Esta é uma classe PHP que faz uso de uma grande variedade de parâmetros. Consequentemente, ele permite que você puxe os dados do banco de dados WordPress para uso ou exibição em seu site.

neste artigo, forneceremos uma compreensão mais profunda da classe WP_Query e como ela pode ser usada. Também lhe daremos alguns passos importantes a seguir ao usá-lo. Se estiveres pronto, vamos mergulhar! O que é WP_Query?Como mencionamos, WP_Query é uma classe PHP usada pela base de dados WordPress. Esta classe em particular pode fazer várias coisas, mas principalmente é usado para puxar posts da base de dados.

como seu nome indica, ele faz uma consulta com base nos critérios que você definiu para ele. Uma vez que há um monte de parâmetros que você pode usar com WP_Query no WordPress, você pode puxar e exibir posts em uma série de maneiras únicas. Vamos explorar essas opções em maior detalhe mais tarde neste post.

como usar WP_Query

mesmo se você está apenas aprendendo os vários aspectos da base de código WordPress, WP_Query é uma boa classe para começar. Agora, vamos quebrar quatro maneiras diferentes que você pode usá-lo em seu site.

comece com um Loop personalizado

uma das melhores maneiras de conhecer a chamada WP_Query é através do Loop WordPress. Se você não está familiarizado com o que o Loop é, é um conceito importante para ler.

o Loop é o que chama a base de dados pedindo por conteúdo de post, e exibe os dados que são devolvidos. Ele também funciona com base em parâmetros definidos, como quantas postagens você quer que o seu site para exibir em uma única página (algo que você pode configurar em seu menu Configuração > leitura).

o básico do Loop se parece com este:

<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
// Display post content
endwhile;
endif;
?>

esta simples afirmação está essencialmente dizendo que se há posts, eles devem ser exibidos. Claro, você pode adicionar uma grande variedade de tags de modelo a esta fundação, a fim de criar o display que você deseja.

você também pode inserir wp_ Query no Loop. Isso permite que você coloque parâmetros sobre quais posts serão retornados. Vamos ver como seria.:

<?php
// The Query
$the_query = new WP_Query( $args );
// The Loop
if ( $the_query->have_posts() ) {
echo '<ul>';
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo '<li>' . get_the_title() . '</li>';
}
echo '</ul>';
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();

você vai ver as mesmas declarações if/while Do Loop básico, mas há uma string WP_Query adicional. Quaisquer que sejam os parâmetros aqui definidos, determinarão quais posts serão exibidos.

Por exemplo, se você quiser excluir um determinado autor a partir de uma lista de mensagens, você pode fazer isso no Loop com WP_Query:

$query = new WP_Query( array( 'author' => -12 ) );

colocando esta em Loop, o seu apresentada posts deixaria de incluir o usuário com o autor o número “12”.

o número de parâmetros que você pode usar com este método é quase interminável. Você pode incluir informações de categoria, bem como taxonomias avançadas, apenas para dar dois exemplos.

argumentos: A espinha dorsal das consultas personalizadas no WordPress

no exemplo anterior, você pode ter notado “($args) ” como parte da cadeia. Esta é uma parte vital da consulta que se refere aos “argumentos” incluídos. Ele diz ao banco de dados exatamente o que incluir nos dados retornados.

essencialmente, estes argumentos podem ser configurados para determinar os resultados exatos que você deseja exibir. Argumentos podem ser usados para alterar o valor das variáveis também. Por exemplo, se você quiser alterar a forma como sua lista de categorias aparece na página, você pode usar um argumento.

o seu argumento irá definir uma série de variáveis e valores. Então, se você quiser, você pode usar um argumento para definir um array e dizer ao seu banco de dados para apresentar as categorias em ordem descendente. Além disso, você pode usar o mesmo método para excluir quaisquer categorias que não contenham posts.

Parameters in WP_Query: Category, Tag, and More

até este ponto, nós só mencionamos parâmetros de passagem. Neste momento, vamos olhar mais de perto para o que eles podem realmente fazer. Sua função principal é permitir que você puxe coleções personalizadas de posts.

um exemplo de um parâmetro que pode ser usado no cabeçalho do seu site é o parâmetro de categoria. Você pode usar isso para especificar categorias específicas para exibição. Isto é feito fornecendo o número de categoria relevante ou slug.

adicionalmente, você pode fazer a mesma coisa com o parâmetro Tag. Claro, os parâmetros de categoria e Tag são realmente apenas a ponta do iceberg quando se trata de usar WP_Query.

modifique objetos com métodos e propriedades

embora não seja recomendado alterar diretamente as propriedades de uma classe como WP_Query, você pode interagir com eles usando métodos. Essencialmente, os métodos são como funções, enquanto as propriedades são o equivalente de variáveis.

WP_Query tem muitas propriedades. Estes variam de propriedades simples” $posts ” para mais complicadas. Qualquer que seja o método usado para interagir com eles, os dados serão retornados com base nos parâmetros que você escolher para colocar em prática.

wp_ query vs. query_ posts () no WordPress

vale a pena notar que há outra maneira de modificar a consulta principal em sua página. Esta é a função query_ posts (). Embora isso possa funcionar de forma semelhante ao WP_Query, também pode ser muito problemático.

a Referência de código WordPress mesmo fortemente aconselha que você não use esta função dentro do Loop principal do seu site. Também é melhor evitá-lo em plugins e temas. Isto é porque ele vai anular completamente a sua consulta principal.

a classe wp_ Query é preferida, porque você também pode ‘reiniciar’ o Loop principal depois de executar uma consulta. Uma vez que o wp_ query lhe permite executar várias consultas em um loop, você vai querer entender como implementar a função wp_reset_postdata também.

se você tiver incorporado um laço secundário dentro do laço WordPress principal, a função de reset será colocada no final e se parecer com este:

<?php wp_reset_postdata(); ?>

isto irá restaurar as marcas padrão de template, e você vai voltar a como as coisas eram antes do seu ciclo secundário foi iniciado.

personalizar o seu site WordPress com motor WP

ser capaz de fazer ajustes de como os itens são exibidos em seu site é apenas um dos benefícios do uso do WordPress. Compreender o wp_ Query e alavancar as ferramentas fornecidas na página de recursos do desenvolvedor pode ajudá-lo a construir sites realmente personalizados.

Deixe uma resposta

O seu endereço de email não será publicado.