O documento explica o loop do WordPress, que busca posts no banco de dados e os exibe na página. Ele funciona consultando a base de dados por posts, formando uma fila e repetindo comandos dentro do loop para cada post. Template tags como the_title() e the_content() podem ser usadas dentro do loop para exibir informações de cada post.
Modelo de desenvolvimento de software em 3 camadas para Wordpress
Loop do wordpress
1. Loop do Wordpress
sábado, 4 de dezembro de 2010
17:12
O Loop do Wordpress é um elemento importantíssimo para quem quer fazer modificações no Tema ou
implementar funcionalidades que o blog não apresenta atualmente. Por isso, este tutorial tentará dar
uma explicação o mais simples possível de como ele funciona e de algumas de suas potencialidades.
1. O que é o Loop do Wordpress?
O Loop é um conjunto de comandos em PHP (linguagem em que o Wordpress foi construído) que tem
como função buscar um ou mais posts na base de dados e possibilitar que as informações sobre o post
sejam mostradas em uma página web. Essas informações podem ser o título do post, seu conteúdo, o
autor, a data, e todas as demais informações de um post.
Por essa definição já dá pra ter uma idéia da importância do Loop, correto?
A seguir, os comandos que o compõem:
Código:
<?php if (have_posts()): ?>
<?php while (have_posts()) : the_post(); ?>
[Aqui vai o código dentro do loop]
<?php endwhile; ?>
<?php else : ?>
[O que fazer ser não há posts?]
<?php endif; ?>
2. Onde está localizado o Loop?
Se você quiser ver o loop no seu blog, acesse o painel de administração, depois vá em Design > Theme
Editor, e clique em index.php, à direita. Navegue pelo arquivo usando a barra lateral que logo você
achará um código semelhante a este aqui de cima.
Se preferir editar o arquivo PHP diretamente, utilize um cliente FTp (como o Filezilla ou o SmartFTP) e
navegue no seu servidor até a pasta onde está localizado seu blog, depois vá é wp-
content/themes/[nome do tema ativo]/index.php.
Na verdade outras páginas do tema também têm o loop, tais como single.php (que mostra o post
sozinho em uma página e a page.php).
3. Como ele funciona?
Basicamente o que o loop faz é:
1. Consultar a base de dados para saber se há posts que atendem aos critérios de busca (por exemplo,
posts classificados segundo uma determinada categoria, ou, na página inicial os "n" últimos posts
publicados no seu blog);
2. Formar uma "fila" de posts que atendem a esses critérios;
3. Enquanto ainda houver posts na fila, repetir os comandos que se encontram dentro do loop, para
cada um dos posts.
A imagem abaixo representa esquematicamente o funcionamento do loop:
Fonte: Weblog Tools Collection
Página 1 de Anotações CSS
2. Assim, para listar o título e o conteúdo de cada um dos posts, é só incluir esses comandos dentro do
loop. Como fazer isso? Através das "Template Tags"!
4. Template Tags
Template Tags nada mais são que funções internas do Wordpress que, quando acionadas, trazem como
resultado um determinado elemento de texto, a ser mostrado na página html, que é a página que os
usuários acabam vendo. Alguns exemplos de template tags estão listados abaixo:
<?php the_title(); ?> Mostra o título do post
<?php the_content(); ?> Mostra o conteúdo do post
<?php the_time('F jS, Mostra a data em que o post foi publicado, seguindo o padrão indicado
Y'); ?> entre parênteses
<?php Mostra a URL do post
the_permalink(); ?>
O site oficial do Wordpress tem uma página só sobre as Template Tags. Lá estão praticamente todas as
tags disponíveis.
Para usá-las, basta adicioná-las dentro do loop, cuidando para complementar com os elementos html
adequados para que o texto resultante da Tag seja adequadamente representado. Por exemplo, é
importante diferenciar o título do corpo do post, para que o resultado final não fique visualmente
pobre. Para isso, é possível fazer o seguinte:
<h1><?php the_title(); ?></h1>
<p class="info">Categorias: <?php the_category(' '); ?>. Postado em: <?php the_time('F jS, Y'); ?>
<p><?php the_content(); ?></p>
Dessa forma é possível mostrar o título do Post destacado, com a tag html <h1> e o post como parágrafo
normal. Além disso, é possível usar estilos CSS para obter maior controle sobre o resultado final.
As imagens abaixo mostram um exemplo de Loop "básico".
Página 2 de Anotações CSS
4. 5. Truques interessantes com o Loop do Wordpress
Inserir AdSense depois do primeiro post
Depois dos comandos que mostram o conteúdo do post, coloque o seguinte código:
Código:
<?php if ($count == 1) : ?>
// Insira seu código do AdSense aqui
<?php endif; $count++ ; ?>
Mostrar apenas posts de uma determinada categoria
Para isso, é preciso refazer a consulta aos posts, dizendo ao Wordpress para apenas recuperar os "n"
posts de uma determinada categoria. Esse comando deve vir antes do Loop.
Código:
<?php query_posts('category_name=nome_da_categoria&showposts=10'); ?>
[Depois inicia o Loop]
Diferenciar posts de uma determinada categoria
Dentro do loop, é preciso testar se o post pertence à categoria determinada. Se sim, atribuir uma classe
CSS. Se não, atribuir outra (a normal).
Código:
<!-- Início do Loop -->
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
Página 4 de Anotações CSS
5. !--< Testa se está na categoria 3. -->
<?php if ( in_category('3') ) { ?>
<div class="post-cat-three">
<?php } else { ?>
<div class="post">
<?php } ?>
6. Referências úteis:
Página oficial do Wodpress sobre o Loop
Página oficial do Wodpress sobre as Template Tags
1001 WordPression Loops
Global Variables and the WordPress Loop
The Ultimate Guide to the WordPress Loop
Página 5 de Anotações CSS