Montar duas listas de post em uma página
Postado em 14 de outubro de 2010 por Henderson | Categorias: Loop no Wordpress, Posts | Sem comentários » | Comentar
Uma situação que pode acontecer é precisar montar dois loops em um certo arquivo, por exemplo na página principal de um tema. Sendo que o primeiro loop vai listar o titúlo e o resumo do último post do Blog de uma certa categoria, já o segundo loop vai listar os títulos dos 5 últimos posts de todas as categorias excluindo o post que já foi listado no primeiro loop.
No primeiro loop vamos armazenar o ID do post. No segundo loop vamos verificar se o ID dos posts listados são diferentes do ID do post do primeiro loop.
1º Loop:
<?php query_posts("category_name=Projetos&showposts=1&orderby=date"); ?>
<?php if (have_posts()) : while (have_posts()) : the_post();
// Pega o ID do post
$postid = get_the_ID(); ?>
<h4><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title() ?></a></h4>
<?php the_excerpt(); ?>
<a href="<?php the_permalink() ?>">Veja mais</a>
<?php endwhile; endif; ?>
2º Loop – lista últimos 5 posts ordenados por data de duas categorias, 3 e 5. Excluindo o post exibido no primeiro loop:
<ul>
<?
$args = array(
'numberposts' => 5,
// Pega o ID das categorias Novidades e Projetos
'cat'=>'3,5',
'orderby'=>'date'
);
$posts_blog = get_posts($args);
foreach($posts_blog as $blogp){
// verifica se o ID do post corrente é diferente do ID do post do primeiro loop
if ($postid != $blogp->ID){
?>
<li id="lista_home"><h5><a href="<?php echo get_settings('home'); ?>/<?=$blogp->post_name;?>"><?=$blogp->post_title;?></a></h5>
<a href="<?php echo get_settings('home'); ?>/<?=$blogp->post_name;?>" style="font-size:9px;">Veja mais</a>
</li>
<?
}
}
?>
</ul>
Deixe um comentário