Conheça a classe WP_Term_Query no WordPress 4.6

setembro 29, 2016 1:00 pm Publicado por Deixe um comentário

O WordPress 4.6 está aí. E como é de costume em novas versões, sempre muitas novidades acompanham esse release. Uma delas, que vamos tratar nesse artigo, é a introdução de uma nova classe: a WP_Term_Query.

Referências para sua criação

O WordPress gradativamente vai introduzindo novas classes para melhorar a filtragem de seus diversos elementos. WP_Query para posts, WP_User_Query para usuários, WP_Comment_query para comentários, faltava justamente a WP_Term_Query para completar a família.

Todas essas classes tem em comum sua função de filtrar elementos no banco de dados de forma mais intuitiva para o desenvolvedor, tornando o código mais fácil de ser implementado, melhorado e mantido.

Mas o que, afinal, a classe WP_Term_Query filtra?

Intuitivamente ela filtra termos. Mas o que são esses termos, afinal? No WordPress termos referem a um item de uma taxonomia. Por exemplo, em uma taxonomia personalizada de cor, cada cor cadastrada seria um termo.

wp-term-query-1024x504

Até o WordPress 4.5 era utilizada a função get_terms() para recuperar termos de uma taxonomia. Essa função retorna um array de objetos da classe WP_Term, desde a versão 4.4, mas seu uso ainda era um embaraço para os desenvolvedores, tornando get_terms() o patinho feio da família.

Compatibilidade com códigos já desenvolvidos

Não se preocupe, aquele seu código legado que ainda utiliza get_terms() não vai quebrar e seu site não vai parar de uma hora para outra. Essa função continua existindo, mas agora como um wrapper para a classe WP_Term_Query, que passará a ser a principal ferramenta para retornar termos de uma taxonomia. De qualquer forma, é sempre muito importante manter toda sua instalação atualizada.

Mensagem do anunciante:

O WordPress evolui a todo momento, evolua você também. Curso e especializações em WP. Conheça.

Source: IMasters

Categorizados em:

Este artigo foi escrito pormajor

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *