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

Dominando WP_Query: Propriedades e Métodos

by
Difficulty:IntermediateLength:ShortLanguages:
This post is part of a series called Mastering WP_Query.
Mastering WP_Query: Actions and Filters
WP_Query Arguments: Posts, Pages and Post Types

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

Bem-vindo a outra parte da nossa série "Dominando WP_Query". Como estamos fazendo até agora? Espero que gostem destes tutoriais tanto quanto nós estamos gostando de escrevê-los.

Neste tutorial, você vai aprender sobre as propriedades (properties) e métodos (methods) da classe WP_Query. Mas primeiro, eu acho que é apropriado falar sobre o que são "propriedades" e "métodos" em uma classe.

Podemos ir?

O Que São Propriedades e Métodos, Exatamente?

Em PHP, existe uma maneira de escrever o código mais limpo: programação orientada a objeto, ou OOP. Com a OOP, usamos "classes" como uma planta— peguei o termo de um dos posts clássicos de código do Tuts +, "Orientada a objetos PHP para iniciantes" por Jason Lengstorf:

Uma classe, por exemplo, é como uma planta de uma casa. Ele define a forma da casa no papel, com as relações entre as diferentes partes da casa claramente definido e planejado, mesmo que a casa não exista.

(E lembre-se que WP_Query é uma classe fundamental do núcleo do WordPress).

Quando você entende a noção de classes PHP, "Propriedades" e "métodos" tornam-se extremamente fácil de entender, uma vez que essas palavras são apenas sinônimos para "variáveis" e "funções". Sim, as propriedades são variáveis de uma classe PHP e métodos são funções de uma classe PHP.

Agora que já abordamos o que são, vamos conhecer cada uma dessas propriedades e métodos.

Aviso: Não seria sábio alterar as propriedades diretamente. Como diz o Codex, você deve interagir com eles usando os métodos do WP_Query.

Propriedades da Classe WP_Query

Vamos começar com as propriedades ou as variáveis, da classe WP_Query.

A seqüência de caracteres de consulta: $query

Esta propriedade armazena a consulta passada para o objeto $wp_query.

O Array de Variáveis de Consulta: $query_vars

Esta propriedade armazena um array de variáveis associativo (e seus valores) da $query.

O Objeto Consultado: $queried_object

Esta propriedade armazena o objeto consultado atualmente, como o objeto de $post se for uma consulta de post ou o objeto de $author se for uma consulta de autor.

O ID do objeto Consultado: $queried_object_id

Esta propriedade armazena o ID do objeto consultado.

Os Posts Retornados da Consulta: $posts

Esta propriedade armazena os posts retornados da consulta.

O Número de Posts Sendo Exibido: $post_count

Esta propriedade armazena o número de posts da consulta atual.

O Número de Posts Retornados da Consulta: $found_posts

Esta propriedade armazena o número de posts sem a cláusula LIMIT da consulta SQL.

O Número de Páginas: $max_num_pages

Esta propriedade armazena o número de páginas — é calculado dividindo-se $found_posts pelo $posts_per_page.

O Índice do Post Atual: $current_post

Esta propriedade armazena o número de índice do item atual no Loop. Por exemplo, é -1 se o Loop acaba de começar e ele é incrementado pelo método next_post().

O Post Atual: $post

Esta propriedade armazena, bem..., o post atual.

Tag Condicional Booleanos : $is_ {condicional}

As propriedades a seguir são armazenadas como valores booleanos, dando informações sobre o status atual do post:

  • $is_single: Verifica se é um único post de qualquer tipo de post (exceto "anexo" e "página" tipos de posts) ou não.
  • $is_page: Verifica se é uma página ou não.
  • $is_archive: Verifica se é uma página de arquivo ou não.
  • $is_preview: Verifica se é uma prévia do post ou não.
  • $is_date: Verifica se é uma página de arquivo baseado em data ou não.
  • $is_year: verifica se é uma página de arquivo baseada no ano ou não.
  • $is_month: Verifica se é uma página de arquivo baseada no mês ou não.
  • $is_time: Verifica se é um baseado em tempo (por hora, por minuto ou por segundo) arquivo de página ou não.
  • $is_author: Verifica se é um autor arquivo de página ou não.
  • $is_category: Verifica se é uma página de arquivo de categoria ou não.
  • $is_tag: Verifica se é uma página de arquivo de marca ou não.
  • $is_tax: Verifica se é uma página de arquivo ou de taxonomia ou não.
  • $is_search: Verifica se é uma página de "resultados da pesquisa" ou não.
  • $is_feed: Verifica se é um feed ou não.
  • $is_comment_feed: Verifica se é um comentário de feed ou não.
  • $is_trackback: Verifica se é um trackback ou não.
  • $is_home: Verifica se é a página principal do blog ou não.
  • $is_404:Verifica se é uma página de erro 404 ou não.
  • $is_comments_popup: Verifica se é uma janela de pop-up de comentários ou não.
  • $is_admin: Verifica se é o painel de administração ou não.
  • $is_attachment: Verifica se é um anexo ou não.
  • $is_singular: Verifica se é um único post de qualquer tipo (incluindo "anexo" e "página" tipos post) ou não.
  • $is_robots: Verifica se é uma consulta para o arquivo robots.txt ou não.
  • $is_posts_page: Verifica se ele é o " Página de Posts" (definido na página "Configurações de leitura" no painel de administração) ou não.
  • $is_paged: Verifica se é uma consulta paginada e não é a primeira página.

Métodos da Classe WP_Query

Agora que terminamos com as propriedades, vamos passar para os métodos (funções) da classe WP_Query.

init()

Esse método simplesmente inicializa o objeto, definindo todas as propriedades para NULL, 0 ou FALSE.

parse_query ($query)

Este método usa a propriedade $query para analisar a consulta e preencher todas as outras propriedades (exceto $posts, $post_count, $post e $current_post).

parse_query_vars()

Esse método reanalisa as variáveis da consulta.

get( $query_var )

Esse método busca uma variável de consulta fornecida.

set( $query_var, $value )

Este método define a variável de consulta fornecida como um valor específico.

&get_posts()

Esse método retorna os posts solicitados pela consulta e preenche as propriedades $posts e $post_count.

next_post()

Esse método incrementa o índice $current_post e avança para o próximo post em $posts, retornando o objeto atual do post. (Este método deve ser usado dentro de um Loop para funcionar corretamente.)

the_post()

Este método define a variável global $post com dados do próximo post. (Este método deve ser usado dentro de um Loop para funcionar corretamente.)

have_posts()

Esse método verifica se existe algum posts deixado para trás e retorna FALSE se não existem. (Este método deve ser usado antes de um Loop para funcionar corretamente.)

rewind_posts()

Este método simplesmente redefine as propriedades $current_post e $post.

&query( $query )

Este método chama dois de seus métodos irmãos, parse_query()get_posts() retornando o resultado de get_posts().

get_queried_object()

Esse método retorna o objeto consultado. (Ele define o objeto $queried_object, se não já estiver definido).

get_queried_object_id()

Esse método é similar ao anterior e retorna a ID do objeto consultado ($queried_object_id).

Dica Rápida: Se há um 'e' comercial (&) antes de um método, significa que o método retorna por referência.

Encerrando Por Hoje

Espero ter conseguido fazer isso ficar bem claro para vocês o que "Propriedades" e "métodos" querem dizer para as classes. E se você entendeu o propósito das propriedades e métodos da classe WP_Query, posso dizer que fiz um trabalho decente!

Tem alguma coisa a acrescentar a este artigo? Compartilhe os seus pensamentos na seção de comentários abaixo. E se você gostou do artigo, não se esqueça de compartilhar com seus amigos.

Nos vemos na próxima parte da série!

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

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.