Montar uma lista de links para os últimos posts
Postado em 21 de julho de 2010 por Henderson | Categorias: Loop no Wordpress, Posts | Tags: array(), get_posts(), Lista de Posts, Lista de ùltimos posts, Post_name, Query_posts | Sem comentários » | Comentar
Como pegar os 6 últimos posts da categoria Novidades, exibindo um link pemanente para os posts:
<ul> <? $args = array( 'numberposts' => 6, 'category_name'=>'Novidades', 'orderby'=>'date' ); $posts_blog = get_posts($args); foreach($posts_blog as $blogp) { ?> <li><a href="<?=the_permalink($blogp->guid);?>"><strong><?=$blogp->post_title;?></strong></a></li> <? } ?> </ul>
Para pegar o ID do post oa inves do permalink, basta mudar a tag HREF para:
<a href="<?=$blogp->guid;?>">
Se preferir montar o link do post usando a ID como variavel utilize estes exemplos:
<a href="/?p=<?=$blogp->ID;?>">Leia mais</a> <a href="<?php echo get_option('home'); ?>/?p=<?=$blogp->ID; ?>" title="Continuar lendo ">Continuar Lendo</a>
Também pode ser montado o permalink do post usando o parametro post_name que pega o nome do post:
<a href="/<?=$blogp->post_name;?>">Leia mais</a>
Abaixo um exemplo de como pegar os 3 últimos posts da categoria artigos, criando um link com o nome do post:
<ul> <? $args = array( ‘numberposts’ =>3, ‘category_name’=>’Artigos’, ‘orderby’=>’date’ ); $posts_blog = get_posts($args); foreach($posts_blog as $blogp) { ?> <li><a href=”<?php echo get_option(‘home’); ?>/<?=$blogp->post_name;?>”><strong><?=$blogp->post_title;?></strong></a></li> <? } ?> </ul>
Para ler mais de uma categoria, troque ‘category_name’=>’Artigos’, pela linha abaixo. Os números significam os ID’s das categorias:
'categories'=>'3,5',
Uma outra forma de fazer um loop em uma certa categoria pegando os links dos posts. Abaixo um exemplo que lista os 6 últimos posts da categoria notícias:
<ul> <?php query_posts("category_name=Notícias&showposts=6"); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <li> <a title="Acesse <?php the_title(); ?>" href="<?php the_permalink() ?>"> <?php the_title(); ?></a> </li> <?php endwhile; endif; ?> </ul>
Para ler mais de uma categoria use a ID da categoria separado por virgula no parametro INCLUDE:
<?php query_posts("orderby=date&include=3,5&showposts=6"); ?>
Para saber mais sobre o método Query_posts, acesse:
http://www.pinceladasdaweb.com.br/blog/2008/03/14/query_posts-aprenda-a-personalizar-seu-blog-wordpress/