WP_Query

Updated December 12, 2019

WP_Query is a PHP class in WordPress which loads content from the database. Os desenvolvedores confiam em wp_ Query para construir listas personalizadas de conteúdo que exibem no front-end do site.

para entender como WP_Query funciona, vamos olhar para um exemplo. Aqui é uma página que exibe três “promovido” passeios:

Ver passeios no frontend
Visualização passeios no frontend

Você deve usar o WP_Query para carregar estes passeio posts do banco de dados. Vamos mostrar como criar esta lista de duas formas:

  1. Usando WP_Query através de código PHP (requer programação)
  2. Usando WP_Query usando o conjunto de Ferramentas GUI (sem programação)

Usando WP_Query com o código PHP

O código a seguir é a parte de consulta. Aqui, WP_Query carrega três “tours” aleatórios da base de dados que correspondem aos critérios.

primeiramente, o código constrói um array de argumentos ($args), que inclui todos os detalhes da consulta que precisamos executar. Em seguida, chamamos a classe WP_Query e pedimos-lhe para devolver os itens (tours) que correspondem aos argumentos.

function display_promoted_tours(){ // Create an array of arguments, which will tell WP_Query what information to load from the database $args = array( 'post_type' => 'tours', 'post_status' => 'publish', 'limit' => 3, 'orderby' => 'rand', 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'tour-status', 'field' => 'slug', 'terms' => array( 'promoted' ), 'operator' => 'IN' ) ), 'meta_query' = array( 'relation' => 'AND', array( 'key' => 'wpcf-valid-until', 'value' => strtotime( 'today 00:00' ), 'type' => 'NUMERIC', 'compare' = '>' ) ) ); // Call WP_Query and load the content from the database $my_query = new WP_Query( $args ); // Now display the "tours" if ( $my_query->have_posts() ) : while ( $my_query->have_posts() ) : $my_query->the_post(); echo "<div class='card'>"; if ( has_post_thumbnail() ) : echo "<a href='" . get_the_permalink() . "' title='" . the_title(null,null,false) . "'>" . get_the_post_thumbnail() . "</a>"; endif; echo the_title( '<h3>', '</h3>', false); echo "<button class='button-style'><a href='" . get_the_permalink() . "'>Learn more</button>"; echo "</div>"; endwhile; wp_reset_postdata(); endif;}

Agora, você tem o código que carrega o conteúdo da base de dados e exibe-o no front-end. O último passo é adicionar este código a um dos modelos do seu tema, de modo que ele irá correr na página onde você quer que ele apareça.

para fazer isto, terá de seguir estes passos adicionais:

  • crie um tema-filho, para que não edite directamente os ficheiros do tema (causando problemas de actualização futuros)
  • Copie a página do tema.php modelo e mude o nome
  • Edite o novo arquivo de modelo e chamar display_promoted_tours dele
  • De administração do WordPress, edite a página que deve mostrar esta lista de passeios e defina para usar o novo modelo de

Este processo funciona bem, mas como você pode vê-lo requer uma grande quantidade de codificação e depuração. Se você está interessado na versão livre de PHP deste processo, que leva minutos em vez de dias, continue lendo.

Create a query with Toolset GUI

Let’S use the same travel website example as above and create a query using Toolset instead of PHP coding.

abaixo está o mesmo exemplo que acima, mas desta vez sem usar codificação – apenas conjunto de ferramentas.

  1. introduza o bloco do editor de vistas onde deseja que a lista apareça
  2. escolha o conteúdo que deseja carregar
  3. Desenhe como a lista irá ficar

neste exemplo, a vista mostra os resultados da pesquisa como uma grelha. Suas vistas podem exibir resultados de qualquer forma, mesmo como marcadores em mapas.

adicionando paginação a consultas

quando você deseja criar uma longa lista de conteúdos, você pode quebrá-la adicionando paginação.

Ver com uma paginação
Ver com uma paginação

mostrar resultados em páginas, em vez de uma longa lista, você vai precisar de:

  1. Habilitar a paginação para o Visualizar
Habilitar a paginação na Vista de bloco
Habilitar a paginação na Vista de bloco

  1. Projeto de paginação controles
a Concepção de paginação controles
Projetar os controles de paginação

a Criação de pesquisas personalizadas

para Além de apresentar os resultados como uma lista você também pode usar consultas para criar buscas personalizadas. A pesquisa personalizada adiciona controles front-end que permitem aos usuários filtrar os resultados e encontrar o conteúdo exato que eles estão procurando.

a Construção de uma pesquisa personalizado
a Construção de uma pesquisa personalizada usando o WordPress Editor de blocos
Usando uma pesquisa personalizada no frontend
Usando uma pesquisa personalizada no frontend

Exibir os resultados da consulta em um map

Se as suas postagens tem um Endereço personalizado do campo, você pode exibi-los em um mapa.

 exibindo os resultados da consulta num mapa
exibindo os resultados da consulta num mapa

limitando e filtrando as consultas

as consultas que constrói não têm de carregar a partir da base de dados todos os itens do tipo que seleccionou. Você pode limitar e filtrar consultas para retornar os resultados exatos que você deseja obter.

por exemplo, você pode criar consultas que irão:

  • Retornar vários resultados
  • Filtrar os resultados de acordo com os valores dos campos personalizados e taxonomia
  • Filtrar os resultados de acordo com o post de relacionamento
  • Filtrar os resultados de acordo com as entradas de front-end (criar uma pesquisa personalizada)
A limitação e a filtragem de consultas
Limitar e filtragem de consultas

Deixe uma resposta

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

Previous post posição Flanco ureterorenoscopy: nova abordagem posicional para ajudar na retrógrado caliceal pedra tratamento
Next post RC Voando Campo