Home Ajuda Pesquisa Login Registre-se
 
Bem-vindo, Visitante. Por favor faça o Login ou Registre-se.
Perdeu o seu email de activação?

Login com nome de usuário, senha e duração da sessão
 
Notícias: O fórum está ainda começando, mas já temos uma comunidade atuante. Registre-se e participe!
 

Páginas: [1]
  Imprimir  
Autor Tópico: Tutorial: Entendendo o Loop do Wordpress  (Lida 13412 vezes)
Administrador Fórum do Software
Administrador
Membro Jr.
*****
Mensagens: 75


Ver Perfil
« : 29 de Abril de 2008, 09:44 »

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:


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(); ?>
<?php the_content(); ?>
<?php the_time('F jS, Y'); ?> 
<?php the_permalink(); ?>
Mostra o título do post
Mostra o conteúdo do post
Mostra a data em que o post foi publicado, seguindo o padrão indicado entre parênteses
Mostra a URL do post


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".













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(); ?>

 !--< 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
« Última modificação: 29 de Abril de 2008, 10:08 por Renato » Registrado
Páginas: [1]
  Imprimir  
 
Ir para: