Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. WordPress
Code

Argumentos WP_Query : Autor, Pesquisa, Senha, Permissões, Cache e Retorno de Campos

by
Difficulty:IntermediateLength:ShortLanguages:
This post is part of a series called Mastering WP_Query.
WP_Query Arguments: Status, Order and Pagination
Mastering WP_Query: 10 Useful Examples

Portuguese (Português) translation by João Fagner (you can also view the original English article)

Até agora nesta série você aprendeu sobre uma seleção de argumentos que você pode usar com a classe WP_Query, para selecionar os posts de tipo de post, categoria, tag, metadados, data, status e muito mais.

Neste tutorial final em argumentos WP_Query, eu vou mostrar alguns parâmetros que são pouco utilizados e que podem dar a suas consultas ainda mais flexibilidade.

Os parâmetros que abordaremos aqui são para:

  • author (autor)
  • search (pesquisa)
  • password (senha)
  • permissions (permissões)
  • caching (cache)
  • return fields (retorno de campos)

Antes de começarmos, vamos recapitular sobre como você codifica seus argumentos com WP_Query.

Uma Recapitulação de Como Argumentos Funcionam no WP_Query

Quando você codificar WP_Query em seus temas ou plugins, você precisa incluir quatro elementos principais:

  • os argumentos para a consulta, usando os parâmetros que serão abordados neste tutorial
  • a consulta em si
  • o loop
  • terminações: fechando if e while tags e resetando os dados do post

Na prática isto terá uma aparência semelhante a seguinte:

Os argumentos são o que diz o WordPress que dados para buscar do banco de dados e serão abordados aqui. Estamos focalizando na primeira parte do código

Como você pode ver, os argumentos estão contidos em um array. Que você vai aprender como codificá-los neste tutorial.

Codificando Seus Argumentos

Há uma maneira específica para codificar os argumentos no array, que é a seguinte:

Você deve incluir os parâmetros e seus valores entre aspas simples, usar => entre eles e separe-los com uma vírgula.  Se você errar o WordPress não poderá adicionar todos seus argumentos para a consulta ou você pode obter uma tela branco.

Parâmetros de Author (Autor)

Existem quatro parâmetros que você pode usar para consultar por autor:

  • author (int): use o ID do autor
  • author_name (string): use 'user_nicename' (Não o nome)
  • author__in (array): use o ID do autor
  • author__not_in (array)

A primeira, author, permite que você consulte as postagens por um ou mais autores, fornecendo ID do autor:

O código acima consulta todos os posts do autor cujo ID é 2.

Você também pode usar uma string para consulta posts por mais de um autor:

Se você quisesse consultar por nome, você usaria o parâmetro author_name:

Esse parâmetro aceita o valor do campo user_nicename no campo do banco de dados como seu argumento, que é exibido como o apelido na tela de administração dos Usários:

User admin screen showing nickname

Note que como isto é editável pelos usuários, você estará mais seguro usando o parâmetro author, caso você ache que seus usuários possam mudá-lo.

Você também pode consultar por posts usando um array de autores:

Acima consultará por postagens de dois autores: aqueles com ID 1 e 2, dando-lhe os mesmos resultados da string que eu utilizei com o parâmetro author acima.

Finalmente, você pode excluir posts por um ou mais autores, usando o parâmetro author__not_in. O argumento abaixo consulta todos os cargos exceto aqueles do autor 1:

Ou você pode excluir vários autores:

Como alternativa, você pode usar o parâmetro author e usar um sinal de menos na frente do ID do autor para excluir um autor:

Parâmetro de Busca

Há apenas um parâmetro para a busca, que é s. Usada para consultar posts que correspondam a um termo de pesquisa. Por exemplo, consultar posts que contenham as palavras-chave 'my favorite food', você poderia usar isto:

Pode achar isto útil para procurar posts relacionados com palavras-chave semelhante, por exemplo.

Parâmetros de Senha

Você pode usar os parâmetros de senha para consultar posts com ou sem proteção por senha:

  • has_password (bool)
  • post_password (string)

O primeiro parâmetro, has_password, permite que você consulte posts com ou sem proteção de senha. Consulta por posts que são protegidos por senha:

E para posts que não têm as senhas:

Você também pode consultar pela senha em si, usando o parâmetro de post_password:

Parâmetro de Permissões

Há apenas um parâmetro disponível para permissões, perm, que você usa para os posts de consulta em que o usuário atual tem permissão para ler. Ele leva o valor 'readable', é projetado para ser combinado com outros argumentos.

Então para consultar posts protegidos por senha e exibidos apenas para usuário com permissões apropriadas, você deverá usar isto:

Ou para exibir posts de rascunho, se o usuário atual tiver permissão para visualizá-los, você usaria isto:

Parâmetros de Cache

Existem três parâmetros de cache, que impedem que os dados recuperados pela consulta sejam adicionados ao cache:

  • cache_results (boolean): informação de cache do post
  • update_post_meta_cache (boolean): informação de cache do meta post 
  • update_post_term_cache (boolean): informação do post term de cache

O valor padrão de todos os três é true (verdadeiro): você não precisa usá-los, se você deseja que os dados a sejam adicionados ao cache.

Então para exibir todos os posts do  tipo de post product , mas não quer adicionar as informações do post para o cache, você deve usar isto:

Normalmente você não deve usar esses parâmetros, é uma boa prática adicionar dados de postagem para o cache. No entanto, às vezes convém recuperar posts para que você só possa usar os dados do post, caso em que não precisa do resto dos dados do post no cache. Um exemplo pode ser quando você só quer uma lista de títulos de post com links de saída, caso em que não precisa de  dados do post term ou metadados a serem adicionados ao cache:

Parâmetro de Retorno de Campos

Você pode usar o parâmetro fields para especificar quais campos retornar da sua consulta. Isto pode salvar retornando dados de campos no banco de dados que você não precisará exibir no sue loop.

O padrão é retornar todos os campos, mas você tem duas opções com o parâmetro fields para restringir isto. Primeiro, o argumento de 'ids':

Isto só retornará um array de IDs de post e não outros campos. Se você queria alguma coisa em seu loop (como o título do post) da saída, você então teria que usar funções como get_the_title ($post-> ID); a saída do título, que seria uma maneira continua de ir sobre as coisas.

O outro argumento é você usar um array associativo de post IDs com IDs de posts filhos na busca:

Você usaria isto para consultar postagens de acordo com seus outros argumentos além de seus filhos.

Resumo

Esta parte da série sobre WP_Query introduz o conjunto final de parâmetros para a classe WP_Query. Você pode usa-los para os posts de consulta por autor, status protegido por senha ou senha própria e termos de pesquisa e para definir se os resultados da consulta são adicionados ao cache e quais campos são retornados pela consulta.

Na próxima parte desta série, você verá alguns exemplos trabalhados usando WP_Query em seus temas ou plugins.

Seja o primeiro a saber sobre novas traduções–siga @tutsplus_pt no Twitter!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.