Portuguese (Português) translation by João Fagner (you can also view the original English article)
Bem-vindo ao final da série "Dominando WP_Query". Tem sido uma longa jornada — isso foi uma das séries mais longas da história do Tuts+. Rachel e Eu estamos extremamente orgulhosos por sermos os dois escritores desta referência a WP_Query
.
Esperamos que tenham gostado do passeio. Nesta parte final, nós vamos recapitular o que aprendemos e fechar as cortinas.
Parte 1: Uma introdução
Esta foi a introdução à série por Rachel. Nesta parte, aprendemos:
- O que é
WP_Query
em termos simples, em um exemplo simples - Por que devemos usar
WP_Query
, e porque nós deveríamos usá-lo sobre outros métodos para criar consultas personalizadas - As "advertencias" do
WP_Query
que devemos saber
Parte 2: Usando o Loop com WP_Query
A segunda parte foi sobre a criação de um loop com a classe WP_Query
, também escrito por Rachel. Nesta parte, aprendemos:
- O que é um "loop WordPress" e onde e como deve ser usado
- como os loops de WordPress são estruturados (com um exemplo bem escrito e bem detalhado)
- executando loops extra com classe
WP_Query
Parte 3: Funções Relacionadas
Nesta parte, escrita pelos nossos confiáveis autores, conhecemos 13 funções que interagem com WP_Query
, tornando o trabalho com ela mais fácil. As funções eram:
-
get_query_var()
, que obtém as variáveis de consulta pública -
query_posts()
, que altera o loop principal, é uma função ruim, muito ruim por sinal -
get_post()
, que obtém um post simples para ser trabalhado -
get_posts()
, que recebe posts e os retorna em um array -
get_pages()
, que obtém páginas da mesma forma -
have_posts()
, que é uma Tag Condicional que retornaTRUE
se existir posts retornados da consulta -
the_post()
, que transforma os cogs no loop -
setup_postdata()
, o que configura a variável global$post
-
rewind_posts()
, que limpa o loop atual -
wp_reset_postdata()
, que reseta a variável global$post
-
wp_reset_query()
, que reseta toda a consulta -
is_main_query()
, que verifica se a consulta atual é a consulta principal (ainda é outra Tag Condicional) -
in_the_loop()
, que verifica se estamos no loop (ainda é outra Tag Condicional)
Parte 4: Filtros Relacionados & Ações
Nessa parte que eu escrevi, foi irritante e gratificante ao mesmo tempo. Foi chato porque levou mais tempo de pesquisa, mas foi muito gratificante porque, bem, eu aprendi muito. (Dica de aprendizagem pro: escreva um tutorial sobre um assunto que você não sabe ou sabe pouco sobre!)
Cada filtro WP_Query
relacionados foi (de alguma forma) sobre os comandos SQL que executa a consulta — a maioria deles filtra as cláusulas diferentes como LIMIT
, WHERE
ou DISTINCT
. As três ações, por outro lado, têm finalidades diferentes:
- A ação
pre_get_posts
interfere com a consulta antes dela ser executada. - A ação
parse_query
lida com a análise da consulta. - A ação de
the_post
modifica o objeto do post.
Parte 5: Propriedades e Métodos
Nesta parte que eu escrevi, repassamos as propriedades e métodos da classe WP_Query
. ("Propriedades" e "métodos" são meramente "variáveis" e "funções" dentro de uma classe PHP). Aprendemos sobre o que as propriedades (variáveis) são:
$query
$query_vars
$queried_object
$queried_object_id
$posts
$post_count
$found_posts
$max_num_pages
$current_post
$post
- 25 propriedades que começam com
$is_
, que funcionam como Tags Condicionais
E os métodos (funções) foram:
init()
parse_query()
parse_query_vars()
get()
set()
&get_posts()
next_post()
the_post()
have_posts()
rewind_posts()
&query()
get_queried_object()
get_queried_object_id()
Parte 6 a 12: Argumentos da Classe WP_Query
Nas próximas sete partes, Rachel fez um trabalho fantástico, explicando todos os argumentos que podemos usar com a classe WP_Query
, com pequenos exemplos:
- Parte 6: Argumentos — Páginas, Posts e tipos de Posts
- Parte 7: Argumentos — Tags de Categorias
- Parte 8: Argumentos — Taxonomias
- Parte 9: Argumentos — Campos Personalizados
- Parte 10: Argumentos — Data
- Parte 11: Argumentos — Post Status, Paginação & Ordenação
- Parte 12: Argumentos — Autor, Pesquisa, Senha, Permissões, Cache e Retorno de Campos
Parte 13: 10 Exemplos Úteis de WP_Query
Nesta parte, tomei a liberdade de passar vários exemplos usando a classe WP_Query
e suas funções relacionadas. (E também dei um exemplo rápido para lembrá-lo de como criar um loop com WP_Query
.) Os exemplos foram sobre:
- listagem de posts do autor no ano atual
- criando as "Últimas Postagens Desta Categoria" que exclui o post atual
- construindo uma lista dos "Posts Mais Populares", ordenado pela contagem de comentário
- criando um slider simples
- mostrando uma citação aleatória na barra lateral
- produtos de listagem entre uma faixa de preço
- construindo um shortcode para mostrar um post dentro de um post
- listagem atual programada de posts (com resumos, que você goste)
- exibir uma seção com "Post de um Ano Atrás, como postagem atual"
- mostrando os filhos da página atual
Tenho que admitir, essa foi a parte mais divertida em que eu trabalhei!
Parte 14: Combinando WP_Query com Consulta Principal
Nesta parte, escrita por Rachel, fala sobre como combinar a classe WP_Query
com a consulta principal. É um assunto muito intrigante, mas eu tenho que dar alguns spoilers aqui — nesta parte, Rachel deu três ótimos exemplos:
- O primeiro exemplo foi sobre como exibir posts apenas de um tipo de post em um arquivo de categoria.
- O segundo exemplo foi sobre pegar os posts (retornados pela consulta principal), pelo tipo de post e lista-los separados pelo seu tipo de post, ainda em uma única lista.
- O terceiro exemplo foi sobre separar a consulta principal em duas consultas personalizadas.
Partes 15 a 18: Os Companheiros da Classe WP_Query
Você sabia que existem classes que funcionam como a classe WP_Query
para ajudar WP_Query
? Nas partes seguintes, Rachel e Eu conversamos sobre:
-
Parte 15: Dominando
WP_User_Query
-
Parte 16: Dominando
WP_Comment_Query
-
Parte 17: Dominando
WP_Meta_Query
&WP_Date_Query
Parte 18: Consultas Melhoradas no WordPress 4.1
Nesta parte, Rachel falou sobre as melhorias para o sistema de consulta do WordPress na versão 4.1 — como consultas aninhadas, parâmetros de comentário e consertos de bugs em geral. É uma parte delicada, uma luz lida antes do fim.
Parte 19: O Final
Como o Oracle falou no filme Matrix Revolutions: Tudo o que tem um começo tem um fim.
Foi uma longa viagem, e como eu disse no início, é uma das séries mais longas da história do Tuts+. Juntei forças com Rachel McCollin, um dos melhores instrutores do Tuts+, e estamos orgulhosos de termos escrito a mais longa, a mais abrangente e a mais épica série de tutoriais sobre a classe WP_Query
e seus companheiros.
Nós trabalhamos muito duro nesta série, e nós realmente esperamos que você tenha apreciado cada pedacinho dela. Se você aprendeu algo novo nesta série parte-19, então estamos felizes por termos feito um bom trabalho.
Se você tiver algum comentário sobre essa série, não hesite em partilhar os seus pensamentos na seção de comentários abaixo. Como sempre, se você gostou da série, não se esqueça de compartilhar esta parte final com os seus amigos como um índice.
Saúde!
Seja o primeiro a saber sobre novas traduções–siga @tutsplus_pt no Twitter!