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.
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 [...]
[...] A primeira coisa a entender é o Loop do WordPress. Se você não está familiarizado com isso, confira este post do The Theme Lab. O loop é o que exibe o conteúdo na sua página inicial, posts individuais, [...]
Ótimo tutor, vou usar algo disso!
[...] La guia completa sobre el Loop de 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 [...]
@Hanne: Posso guardar isso para um tutorial futuro. É um pouco complicado demais para deixar em um comentário. Você pode tentar um plugin de gerenciamento de anúncios por enquanto.
se você não se importa, pode mostrar o código, ou alguma referência por aí. eu tentei procurar, mas não encontrei ^^(
@Hanne: Sim, é possível fazer isso dentro do Loop. No entanto, exigirá algum código PHP adicional.
ok, então podemos separar a primeira postagem e as outras postagens seguintes. quero dizer como na imagem abaixo. ^^P
http://img258.imageshack.us/img258/8676/93734862qg2.jpg
[...] O Guia Definitivo para o Loop do WordPress | Theme Lab [...]