WordPress: Utilizando a função “query_posts” e “wp_reset_query”
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 . 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 para zerar a consulta anterior.
Espero ter ajudado!
0 comments:
Post a Comment