Assine o Nosso Feed

61 Leitores

Wordpress usando multiplos loops

VN:F [1.8.4_1055]

usando-multiplos-loops-wordpress

Usar múltiplos loops no Wordpress é uma tarefa quase corriqueira para mim já, uma homepage um pouco mais complexa já usa 2 ou 3 loops.

As vezes acontece de algum loop não funcionar como esperado, duplicar posts é apenas uma das coisas desagradáveis que podem acontecer. Mas não se desespere, a um codigo concerta isso, e vamos mostra-lo aqui no HOTPress agora.

O exemplo a seguir apresenta dois loops diferentes. Observe que uma função é usada entre eles ‘rewind_posts ()‘ é quem faz a mágica acontecer. Este exemplo pode ser usado em qualquer arquivo WordPress como: index.php, single.php, page.php, tags.php e etc.

// Primeirp loop (Puxa os últimos 3 posts da categoria notícias)
<?php query_posts('category_name=noticias&showposts=3'); ?>
<?php while (have_posts()) : the_post(); ?>
  <!-- Seu código aqui -->
<?php endwhile;?>

//Essa linha limpa o loop, para o próximo ter as caracteristicas originais do Wordpress
<?php rewind_posts(); ?>

//Segundo loop (Este é um loop comum que lista todos últimos posts)
<?php while (have_posts()) : the_post(); ?>
  <!-- Seu código aqui -->
<?php endwhile; ?>

Explicando o código

A função ‘rewind_posts ()não é um hack como alguns podem estar pensando, ela já é padrão do Wordpress a algumas versões.

O proposito da função é “limpar” um loop “sujo” como o primeiro listado no nosso exemplo, assim o segundo loop utiliza não é afetado pelas funções do primeiro, utilizando as funções padrão do Wordpress.

Tem alguma sugestão de postagem? Deixe um comentário! =D

Wordpress usando multiplos loops5.051

Leia Também

  1. Mostrar Posts de uma Categoria
  2. Usando os thumbnails gerados pelo Wordpress no seu tema
  3. Inserir a biografia do autor nos posts do Wordpress
  4. Mostre o seus posts mais populares na sidebar
  5. Mostrar conteúdo para membros registrados no Wordpress

6 comentários

  1. Denny says:

    Bom dia, desculpe não saber se é aqui que se faz esse tipo de pergunta

    Estou com o WP 2.8.5 com canal de notícias quase pronto, porque vou usar ele como CMS pra atualização de conteúdo, creio que seja por loop o que quero fazer… a index vai ficar fora do diretorio do WP, nessa index fora o lay foi dividido por categorias os espaços, esportes, brasil, F1 etc… … como faço pra chamar os posts das categorias fora do diretório do WP?

  2. Mauricio says:

    Olá Denny,
    não entendi o que você quis dizer com fora do Diretório.
    Sua Index deve ficar dentro do arquivo do seu tema.
    Se a sua index está dentro da pasta do tema basta chamar os loops como explicado no post.
    Se não for isso, por favor nos dê uma nova explicação para te auxiliarmos =)

    [']s

  3. Denny says:

    Em primeiro, obrigado pela resposta… é que vou fazer da seguinte forma… eu já tenho o site em funcionamento que tem um sistema de atualização que já não está aguentando o tranco.. nesse caso, instalaei o WP pra usar como CMS… a parte de noticias em geral está ok no diretório (homeportal) com o template, já na index que nao está no diretório o template é outro e muito grande e sempre usei template diferentes na index e outro para os posts.. são totalmente diferente um do outro… eu peguei o meu template e instalei no WP e joguei os loops, funciona.. mas queria chamar esse loop fora do diretório, pq se por minha index dentro sem instalar, nao funfa… e nao descobri no WP como chamar o link em outro Template….e nisso quebrei a cuca pra tentar descobrir uma forma de isso acontecer… tentei tudo quanto é tipo de path pra funcionar o WP fora… acho que nao to sabendo qual arquivo puxar… tipo
    Eu uso atualemente, independente do diretório assim, queria fazer isso com o WP
    req['PHP_SELF'];
    $system = new system_Noticias;
    ?>

  4. Denny says:

    Ops.. o cod cortou no post anterior

    <!– req['PHP_SELF'];
    $system = new system_Noticias;
    ?> –>

  5. Denny says:

    Cortou de novo… quando envio o cod .. são tres linhas.. mas nao tá indo pra vc ver

  6. Joel Wallis says:

    Interessante. Não uso muito o query_posts( ), uso geralmente o get_posts( ), mas o primeiro parece ser bem interessante…

Deixe um comentário!