Neste tutorial, vou abordar O Loop e como o WordPress o utiliza para exibir suas postagens e páginas. Lembre-se, este é um tópico um pouco mais avançado do que nossos tutoriais anteriores. Espero que você ache este guia definitivo mais fácil de entender do que o que está disponível na documentação do WordPress. Veja o que abordaremos:
- Uma definição de O Loop.
- Fluxo básico do Loop.
- Tags de modelo usadas em O Loop
- O que fazer depois de O Loop
- Hierarquia de arquivos de modelo
Se você quiser entender melhor como um tema do WordPress realmente funciona nos bastidores, continue lendo.
Nota: Este tutorial assume que você está usando um tema padrão do WordPress, como o tema Kubrick padrão. Nada de coisas avançadas com múltiplos loops... ainda.
O que é o Loop?
Você provavelmente ainda está se perguntando o que é o Loop. Basicamente, é o que exibe o conteúdo que você vê em sua página inicial, suas postagens individuais, páginas, arquivos, resultados de pesquisa e muito mais.
Se um usuário acessa sua página inicial, arquivos ou resultados de pesquisa – por padrão, o Loop irá exibir um certo número de posts conforme definido em suas Opções de Leitura.
No momento, minha página inicial exibe 10 posts por página, que é o que defini em Mostrar no máximo * posts. Em posts e páginas individuais – o mesmo código básico do Loop exibirá apenas aquela página específica.
Fluxo básico do loop
Vamos dividir o Loop em 3 partes.
<?php if (have_posts()) : ?><br>
<?php while (have_posts()) : the_post(); ?>
1. O que você quer que seja exibido no Loop
2. O que é exibido quando o Loop termina
3. Se não houver nada para exibir
Se houver posts disponíveis na consulta, ele começará a exibi-los em um loop while, o que é definido na parte 1. Quando o while terminar, ele exibirá o que está na parte 2. Se nenhum post for encontrado, ou houver algum outro erro 404, a parte 3 será exibida.
Tags de Modelo usadas dentro do Loop
A menos que você queira que 1. O que você quer exibido no Loop seja repetido na página inicial do seu blog WordPress 10 vezes, você provavelmente deveria aprender algumas das tags de modelo básicas. Vamos dar uma olhada no código do index.php no modelo padrão do WordPress.
Como você pode ver, existem várias tags de modelo dentro do Loop que exibirão coisas como o título do post, o permalink, o conteúdo, etc. Vou detalhar cada uma das tags de modelo no tema padrão do WordPress.
- <?php the_permalink() ?> – Isso exibirá o link permanente do post, ou seja, http://www.themelab.com/?p=1
- <?php the_title(); ?> – Isso exibe o título do post, ou seja, Olá Mundo!
- <?php the_time(‘F jS, Y’) ?> – Isso exibirá a data, ou seja, 4 de abril de 2008. Uma lista completa de maneiras de formatar a data pode ser encontrada em php.net
- <?php the_author() ?> – Isso exibirá o nome do autor, ou seja, Leland. Isso está comentado no tema padrão.
- <?php the_tags(‘Tags: ‘, ‘, ‘, ‘<br />’); ?> – Isso exibirá as tags atribuídas à postagem, separadas por vírgulas e seguidas por uma quebra de linha
- <?php the_category(‘, ‘) ?> – Isso exibirá as categorias de forma semelhante às tags acima.
- <?php edit_post_link(‘Editar’, ”, ‘ | ‘); ?> – O link de edição da postagem ficará visível apenas para aqueles com permissão.
- <?php comments_popup_link(‘Sem Comentários »’, ‘1 Comentário »’, ‘% Comentários »’); ?> – Exibirá o link para os comentários. Isso não será exibido em postagens ou páginas individuais.
Existem muitos outros listados na página Tags de Modelo no WordPress.org. Algumas delas podem funcionar no Loop, enquanto outras podem não funcionar.
Após o Loop
Vamos dar uma olhada no código após o loop parar de iterar no tema padrão.
Como você deve ter adivinhado, isso exibirá a paginação que você vê na página inicial, arquivos e resultados de pesquisa. Estes não serão exibidos em posts e páginas individuais. Claro, você poderia substituir isso por algo como PageNavi, mas isso depende de você.
Se não houver postagens para exibir (possivelmente devido a um erro 404), o seguinte será exibido após o else
Desculpe, mas você está procurando algo que não está aqui.Não Encontrado
Isso exibirá a mensagem Não encontrado junto com o formulário de pesquisa. Neste caso, haveria um código de formulário de pesquisa localizado em um arquivo chamado searchform.php no diretório do tema, o que existe no tema padrão.
Hierarquia de Templates
Alguns arquivos de template terão prioridade sobre o index.php para certos tipos de páginas, se estiverem presentes no diretório do tema. Listados abaixo estão alguns exemplos de hierarquia de templates, listados em ordem de prioridade.
Página Inicial
- home.php
- index.php
Post Individual
- single.php
- index.php
Resultados da Pesquisa
- search.php
- index.php
Página 404
- 404.php
- index.php
Existem algumas técnicas mais avançadas listadas na página Hierarquia de Modelos no WordPress.org.
Então, qual é o ponto da hierarquia de templates? Basicamente, você pode usá-la para criar novos layouts para diferentes tipos de páginas do WordPress sem mexer muito no seu arquivo index.php.
Conclusão
Então, agora você (esperançosamente) tem uma melhor compreensão do que é o Loop do WordPress. Sinta-se à vontade para deixar um comentário se gostou, odiou, não entendeu, o que for – recebo todos os feedbacks. Assine o feed para todas as últimas atualizações sobre lançamentos de temas do Theme Lab e novos tutoriais. Obrigado pela leitura.
Quero exibir o link para o post anterior e o próximo em uma página de post individual. Além disso, o texto âncora para o link deve ser o nome do respectivo post.
Por favor, diga-me como posso fazer isso?
Tentei incorporar em single.php, mas o nome do post não está aparecendo.
Ótimo, estou aprendendo a hackear o loop, até mesmo em níveis RSS-Atom e esses conceitos básicos são bons para mim. Continuem mandando bem, pessoal.
Obrigado, obrigado, obrigado.
Não tenho palavras para agradecer. Todos, incluindo o wordpress.org, dizem ‘coloque esse código no Loop’, mas NINGUÉM dizia o que diabos é o Loop! Exceto VOCÊ. Ótima ajuda.
[…] Link do tutorial […]
Sou um gerente de projetos de TI que, em um momento de sua vida, era um "técnico" prático. Acho que isso me coloca em algum lugar no meio do espectro entre o alfabetizado em computação, mas sem noção de programação de computadores, e o geek total que pensa e fala em Cplusplus.
A grande vantagem do WordPress é que ele é simples o suficiente para que o analfabeto de computador mais sem noção consiga recursos sofisticados com facilidade, enquanto alguém com um mínimo de habilidades técnicas pode fazer muitas personalizações.
Embora eu não seja um programador PHP ou Java, EU TENHO treinamento na linguagem C#/VB.NET e entendo loops e estruturas de programação. Esse pequeno conhecimento, juntamente com tutoriais como o seu, me dá a capacidade de personalizar com os melhores "geeks" de computador. Seu tutorial foi muito fácil de entender (provavelmente porque eu tenho formação em TI). Acho que, mesmo sem a formação em TI, sua explicação tornou possível (com um pouco de esforço) entender como usar o "loop" e um pouco mais sobre o funcionamento interno da aplicação WordPress.
Obrigado!!
Jerry Bucknoff, PMP
Meu blog WordPress é blogs.pmbestpractices.com, outro site orgulhosamente impulsionado pelo WordPress.
[…] O Guia Definitivo para o Loop do WordPress […]
[…] O guia definitivo para o loop do wordpress […]
[…] O Guia Definitivo para o Loop do WordPress […]
[…] O Guia Definitivo para o Loop do WordPress […]