Entenda como funciona o loop do WordPress

Entender o Loop do Wordpress é indispensável para quem deseja criar templates na plataforma ou simplesmente customizar a exibição de posts no site. Saiba como o Loop é estruturado e como utilizá-lo para acessar seu conteúdo.

O que é o Loop do WordPress e como utilizá-lo? Neste artigo você vai aprender a utilizar esta poderosa ferramenta para exibir qualquer conteúdo (post ou página) de seu site em WordPress. Dominar o Loop sem dúvida é o passo mais importante para quem deseja criar templates ou temas nessa plataforma.

As informações que vamos discutir aqui também podem ser encontradas no Codex do WordPress. Mas se você é daqueles que prefere aprender lendo um bom tutorial, está no lugar certo. Vamos em frente!

O que é o Loop do WordPress?

Para entendermos o Loop e porque ele é importante, temos que entender a diferença entre um site estático e um site dinâmico.

Os sites estáticos são aqueles onde todo o conteúdo está “escrito” na própria página HTML. Já os sites dinâmicos, como os que são feitos em WordPress, tem todo o conteúdo guardado em um banco de dados.

Quando acessamos uma página ou um post em um site WordPress, no momento do clique é disparada uma requisição ao banco de dados pedindo o conteúdo que queremos visualizar. O código responsável por “pegar” essa informação no banco e mostrar na tela chama-se Loop.

O termo Loop vem do inglês (como quase tudo em programação) e sua tradução é “dar laço” ou “laçar”. Se formos pensar bem, é exatamente isso o que esse bloco de código faz, ou seja, ele “laça” (busca) todos os posts ou páginas presentes no banco de dados e os apresenta ao visitante.

Estrutura do Loop

O Loop pode ser dividido em 3 partes principais:

  1. Início do Loop
  2. Ação a ser feita com os posts ou páginas que ele encontrar
  3. Fechamento do Loop

Bem simples não? E realmente é! O WordPress não é a plataforma mais popular do mundo por ser difícil e sim pela sua simplicidade de uso. Vamos identificar estas 3 partes dando uma olhada diretamente no código:

<?php  

// 1. INÍCIO DO LOOP
if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>  

// 2. AÇÃO A SER FEITA COM CADA POST/PÁGINA ENCONTRADA  

// 3. FECHAMENTO DO LOOP
endwhile; endif; 

?>

O Loop em Ação

A melhor maneira de entender esse código é vê-lo em ação através de um exemplo prático. Confira abaixo:

loop do wordpress

Loop do WordPress

Se em uma primeira olhada isso parece confuso, fique sossegado que não é. Vamos entender o que está acontecendo analisando cada parte.

Primeiramente é verificado se existem posts para serem exibidos. Se a resposta for afirmativa, o código presente na linha 3 passa a ser executado e o Loop começa a rodar.

Se pudéssemos “traduzir” para o português o significado do texto escrito na linha 3, leríamos o seguinte: “WordPress, enquanto houverem posts para exibir, vá buscá-los para que eu possa formatá-los com o código abaixo”.

Ou seja, uma vez que o Loop encontra um post ele o trata da seguinte maneira (como visto no codigo acima):

  • Insere o título do post dentro de um cabeçalho do tipo h2, com link para o post completo (para isso utiliza-se a tag the_permalink).
  • Cria um link para outros posts do autor (utilizando a tag the_author_posts_link).
  • Exibe a data em que o post foi escrito.
  • Exibe um pequeno resumo do post, com a tag the_excerpt. (para exibir o post completo podemos utilizar a tag the_content)
  • Cria um link (com texto âncora “Leia Mais”) para o post completo.

Esse processo será repetido até que acabem os posts disponíveis no banco de dados, quando então o Loop é encerrado.

Vale lembrar que esta formatação de post que utilizamos é apenas um modelo. Se você entender de HTML poderá estruturar seu conteúdo da maneira que desejar. Outro ponto importante é conhecer o Codex para saber quais tipos de informação podem ser extraídas através do Loop.

O mesmo conceito que utilizamos aqui se aplica às páginas do WordPress (aquelas que não são posts), sendo que a única diferença está no fato de que o Loop só será executado uma vez e não utilizaremos a tag the_excerpt e sim the_content, para trazer o conteúdo.

Agora que você já sabe como montar um Loop no WordPress, o próximo passo é  “customizar” o Loop através do uso da tag “query_posts”. Caso queira saber mais, não deixe de ler nosso artigo Aprenda a customizar o Loop do WordPress.

Espero que tenham gostado e fiquem ligados para mais novidades! Comentem!

11 Comentários

  1. Marco Aurélio

    // 1. INÍCIO DO LOOP
    if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

    // 2. AÇÃO A SER FEITA COM CADA POST/PÁGINA ENCONTRADA

    // 3. FECHAMENTO DO LOOP
    endwhile; endif;

    No código acima eu não entendi o por que do IF, se o while irá executar somente se a condição for verdadeira, ou seja, se não existir post ele não vai executar nenhuma vez. E como é a chamada da mesma função tanto no if quanto no while, achei meio que desnecessário.

    Sabes explicar o por que do IF?

    Abraços

    Responder
    • Ubiratan Cunha

      Olá Marco Aurélio,

      O código apresentado é o padrão exibido no Codex do WordPress. O IF é responsável por verificar a existência de posts e se estes não existirem ele nem mesmo entra no LOOP. É boa prática entre os programadores fazer esse tipo de verificação até mesmo para se evitar LOOPs infinitos ou outros problemas na verificação de condições (até mesmo causando travamentos na aplicação). Espero ter ajudado.

      Responder
  2. Fhilipe Alves

    Olá amigo, estou com duvida em uma questão…

    Estou fazendo um site para um cliente em wordpress, seguinte:

    Destaques ( feito com post )

    Página Home, Cardapio, galeria e contato ( página fixa mesmo os textos )

    Eu abro o loop para cada destaque, pegando através do ID

    Depois destes 3 loop do destaque, coloco mais um loop onde mostra os conteúdos nas páginas fixas…

    Só que o seguinte, ele fica mostrando um “destaque” invés de mostrar o conteúdo da página fixa… Se eu colocar os 3 loop em baixo do loop das páginas fixas, ele funciona normal.

    Sabe me dize o que pode se?? Estou a 2 dias procurando e não acho..

    Responder
    • Ubiratan Cunha

      A funçAo no WordPress responsável por isso é essa: the_time. Se inserir a seguinte função:

      Hora da postagem: < ?php the_time('g:i a'); ?>

      O horário será exibido da seguinte maneira: 10:36 pm

      Responder
  3. Danilo

    Muito bacana a explicação.

    Demorei para achar uma explicação, tanto é que quebrei a cabeça e fiz “sem entender” mesmo, hehehe.

    Abraço

    Responder

Deixe uma Resposta

  • (não será publicado)

XHTML: Você pode usar estas tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

© 2017 Mochileiro Digital.

Compartilhe: