querryposts

/ Tutoriais

Utilizando a função “query_posts” e “wp_reset_query”

Wordpress

Hoje vou falar sobre a função query_posts e a função wp_reset_query disponível no WordPress.

Quando criamos um loop ou inserimos vários loops em nossa página, é comum acontecer erros de exibição de conteúdo.

Tá, mas eu nem sei o que é um loop! Para os navegantes de primeira viagem, loop, no caso do WordPress, são comandos em PHP que tem como função buscar no banco de dados os posts e exibí-los na página.

Já pensou se todos os posts que tivessem de ser adicionados no site fossem inseridos tendo sempre que abrir o código HTML?

Pensando em um site que será sempre atualizado, ficaria inviável sempre ter que recorrer ao arquivo para  a inserção, então, de forma dinâmica, o loop busca na base de dados os posts e depois exibe o seu conteúdo.

Assim, em certas situações teremos a necessidade de modificar o tipo de post que será exibido na nossa página.

Utilizamos então a função

Essa função permite a adição de diversos parâmetros, bem como chamar posts de determinada categoria, exibir conteúdo de determinada página, exibir posts ordenados de forma crescente e descrescente, posts com determinadas tags, quantidade de posts a serem exibidos e assim por diante…

A lista é grande e pode ser encontrada na documentação do WordPress.

http://codex.wordpress.org/Function_Reference/query_posts

Exemplo de Loop utilizando a função query_posts:

Nesse exemplo, o wordpress vai buscar no banco de dados todos os posts da categoria “wordpress” e irá exibí-lo na página conforme a formatação que está dentro do loop. Nesse caso, serão exibidos somente dois posts (por causa do parâmetro posts_per_page que limita a quantidade) com o título e o seu respectivo conteúdo.

Já a função wp_reset_query é bastante útil para zerar o banco de dados antes do loop iniciar. É comum ocorrer erros de exibição de páginas, por exemplo, quando se acessa um determinado post e a página requerida, que seria single.php não é exibida, mesmo que a página exista.

Nesse caso, utiliza-se a função wp_reset_query, zerando a consulta no banco, impedindo assim, qualquer conflito que venha ocorrer na busca pelos artigos.

Exemplo:

A função wp_reset_query é bastante útil para a criação de um tema wordpress quando se utiliza vários loops. Um exemplo seria um portal com várias categorias (esporte, novela, notícias…). A exibição dos posts de cada categoria deverá ser chamada através do loop do WordPress. Nesse caso, cada categoria será chamada por um loop utilizando-se da função <?php query_posts(); ?>. Os parâmetros que serão passados determinarão o tipo do post que será resgatado no banco e exibido no site. No exemplo citado, category_name seria um parâmetro utilizado em cada loop, modificando somente o nome da categoria da qual os posts serão resgatados. Acima de cada loop, utiliza-se a função <?wp_reset_query();?> para zerar a consulta anterior.

Espero ter ajudado!



Virtualize Soluções Digitais

Empresa especializada na criação de sites, desenvolvimento de jogos, de aplicativos para celular e para redes sociais como o Facebook. Localizada em Salvador - BA.