Jump to content

(TUTORIAL) Como Criar e controlar multiplos loops no wordpress


Recommended Posts

Primeiramente quando vamos fazer um cliclo de postagens no WordPress devemos usar a seguinte instrução:

<?php if(have_posts()) : while(the_post()) : the_post(); ?>

<?php endwhile : else:?>

<?php endif ?>

Com isso conseguimos puxar um numero de postagens na home que determinamos no painel de controle, ou pegar o conteúdo de uma page ou single.

Mas e se quisermos colocar uma condição? Como não podemos criar um mysql_query para pegar informações do banco de dados – pois ele faz isso logo na have_posts() - temos que usar uma função para que funcione como o WHERE no php aí que entra uma outra função própria do WordPress, o query_posts.

Ela vai ficar assim:

<?php query_posts('instrucoes'); ?<br ?><?php if(have_posts()) : while(the_post()) : the_post(); ?>

<?php endwhile : else:?>

<?php endif ?>

Ok já temos a função que faz isso pra gente, mas como uso ela? O query_post funciona como um if, porém existem argumentos próprios para essa função. Vejamos:

showpost=numpost: Aqui colocamos um numero inteiro que representará quantos posts irão aparecer no loop.

cat=id: Colocamo ID de uma categoria, no loop irá mostrar apenas os posts vinculados a ela.

category_name=slugcat: Faz a mesma coisa que de cima mas, aqui define-se o slug da categoria e não o id. P.S. Testei com o nome e deu certo também.

tag=slug: Colocamo ID de uma tag, no loop irá mostrar apenas os posts vinculados a ela.

offset=int: Aqui define a partir de qual post ira começar o loop. Começando do 0; 0 é o primeiro então se o campo é 1 o loop começa do 2º post.

Essas são as mais importantes, separamos cada uma com &(e comercial). No código ficara assim:

<?php query_posts('showposts=5&cat=2'); ?>

<?php if(have_posts()) : while(the_post()) : the_post(); ?>

<?php endwhile : else:?>

No nosso exemplo irá mostrar 5 posts da categoria que corresponde ao ID 2. Mais informações sobre query_posts você pode encontrar aqui

Fonte : GeekHq

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Do you agree with our terms?