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 […]
Muito útil. Obrigado!
[…] Leia Mais… […]
Obrigado pela postagem, realmente ajudou. Minha única sugestão seria editar suas tags de modelo para que todas tenham o ponto e vírgula de fechamento.
Eu estava tentando fazer com que eu exibisse apenas uma categoria na página principal e fui bem-sucedido depois de ler esta postagem com a sintaxe exata que preciso modificar o loop
http://www.nietoperzka.com/wptraining/custom-order-of-posts-on-main-page/
Mas então tive erros com minhas outras categorias e áreas do site, mas depois de ler sua postagem e ela explicar mais sobre a hierarquia da página, fiz um home.php separado para o meu loop da página de destino e deixei todo o resto igual ao original
obrigado por esta postagem.
[…] se você está tendo problemas para entender qualquer coisa que acabamos de fazer, recomendo visitar este tutorial para uma melhor compreensão do […]
Posso modificar o loop do wordpress usando uma função de plugin?
sabe de uma coisa, você é simplesmente incrível, estou me perguntando por que não encontrei seu site antes e por que não mudei para o wordpress antes.
Eu também comecei a promover seu site através de boca a boca positivo aqui na Índia.
Recentemente, fui a uma reunião do clube Toastmasters e contei às pessoas o quão maravilhoso é o seu site.
Obrigado por suas dicas maravilhosas.
[…] O Guia Definitivo para o Loop do WordPress | Theme Lab porque, afinal, ainda estou confuso […]
Uma coisa que achei particularmente útil é a hierarquia de categorias:
1. category-6.php
2. category.php
3. archive.php
4. index.php
A primeira página permite que você tenha uma página para cada categoria. O WordPress usará 'category-6.php' como a página padrão para a categoria 6. Você pode descobrir o número da categoria no painel, indo em Gerenciar > Categorias e clicando em uma categoria. Após clicar na categoria, olhe na barra de endereços e perto do final você verá: &cat_ID=6. Esse 6 é o número da categoria. 'category.php' será o modelo padrão para todas as categorias se nenhum modelo de categoria individual (como category-6.php) for encontrado. Basta colocar esses arquivos PHP na raiz da pasta do seu tema.
Guia muito útil, obrigado por compartilhar!
Obrigado! Finalmente a explicação do Loop que eu estava procurando em toda a web! Agora eu entendi. Obrigado, novamente 😀
[…] O Guia Definitivo para o Loop do WordPress […]
[...] você pode não querer que seus resultados de pesquisa sejam limitados pelas restrições do Loop padrão do WordPress. Este é um rápido hack de código para permitir que uma pesquisa retorne resultados ilimitados, alterando o padrão [...]
[...] Uma ótima área para começar é aprender como o loop do WordPress funciona. Esta é uma função básica de blog usada para exibir o número X de posts mais recentes na página inicial do seu blog (para blogs tradicionais). Em vez de entrar em muitos detalhes aqui, gostaria de te indicar um novo post do Themelab que foi projetado para ser o Guia Definitivo para o loop do WordPress. [...]
[...] O Guia Definitivo para o Loop do WordPress | Theme Lab [...]
[...] O Guia Definitivo para o Loop do WordPress | Theme Lab [...]