Mostrar posts recientes de una categoría o tag
Escrito por Neri, un hermoso 9 de August de 2009 y archivado bajo el sello de HacksEste artículo tiene 17 comentarios, pero no olvides que el tuyo también importa
Este artículo es una colaboración de Esteban Rojas (en su perfil no ha configurado url ni twitter)
En nuestro blog seguramente hablaremos de muchos temas, por ende tal vez tengamos muchas categorías, sin embargo siempre hay unas 2 o 3 que tocamos más a menudo o que tal vez queramos resaltar de las demás, por lo que a continuación compartiré un código que ayuda a hacer precisamente eso, listar los posts recientes que esten archivados en una categoría o tag especifica.
-
<?php query_posts('cat=1&showposts=5'); ?>
-
<ul>
-
<?php while (have_posts()) : the_post(); ?>
-
<li><a href="<?php the_permalink(); ?> rel="bookmark" title="Leer <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
-
<?php endwhile;?>
-
</ul>
Esto usa la función query_posts mas la ID de la categoría de la que queramos tomé los posts, el cat=1, además de poder definir cuantos artículos queremos mostrar con el parámetro showposts, . Para una etiqueta sería de esta forma:
-
<?php query_posts('tag=wordpress-hacks&showposts=3'); ?>
-
<ul>
-
<?php while (have_posts()) : the_post(); ?>
-
<li><a href="<?php the_permalink(); ?>" rel="bookmark" title="Leer <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
-
<?php endwhile;?>
-
</ul>
Modificando tag=wordpress por el nombre de la etiqueta de la que ustedes quieren tomé las entradas.
Muchas gracias Esteban!




Hola
Qué código podría usar para mostrar los últimos cinco posts de una determinada categoria en el sidebar?
Gracias
Hola Javi, el código del post explica justamente eso..
muchas gracias colega,la verdad que me ha solucionado un montón, de nuevo muchas gracias por querer compartir.
El código se inserta directamente en un widget o como se hace?
Gracias
Javi: Si, lo instertás directo en el Widget y debería funcionar.
Neri, una pregunta: ¿Cómo hago para que abajo del título aparezca un extracto del contenido?
Ya encontré como hacerlo. Quedaría algo así (espero que aparezca bien el código):
< ?php query_posts('cat=1&showposts=5'); ?>
< ?php while (have_posts()) : the_post(); ?>
rel=”bookmark” title=”Leer < ?php the_title_attribute(); ?>“>< ?php the_title(); ?>
< ?php echo dp_clean($post->post_content, 90); ?>
< ?php endwhile;?>
Nótese que agregué H3 al título de la categoría.
Pues insertando el código tal cual en el widget, no me funciona…
Javi, instalá este plugin http://wordpress.org/extend/plugins/exec-php/
Saludos.
Hola, una preguntita:
puedo de alguna manera hacer que el nombre del tag sea dinámico?
Me explico:
Tengo un listado de empresas agrupados por localidad. Ej: Tandil > Ferretería > Ferretería Juan Carlos.
A cada empresa les pongo el tag “ferreterias-en-xxx”, donde xxx es la localidad.
Mi idea es poner este código pero donde dice: query_posts(‘tag=ferreterias-en-xxx&showposts=3′), de manera que si está en Buenos Aires muestre los post con tag ferreterias-en-dorrego.
Se entiende o hice despelote? Está bien lo que digo o es una grasada total?
Gracias!
Jose
Claro, donde puse Buenos Aires quise poner Dorrego…
Hola tengo un problema con categorias, en mi pagina donde se muestra el contenido de un post, tengo una barra lateral donde pondre los otros posts relacionados con la categoria del post que se esta viendo. Bueno el problema es ese, no se como cachar la categoria del post que se esta viendo para asi mostrar en esa barra, los demas posts, de dicha categoria. Intente con este codigo
cat_name . ‘ ‘;
} ? >
Y luego para mostrar un N numero de posts en esa barra uso esta linea
Si notan pongo lo que me resulte del foreach guardado en la variable $category en el query_posts pero me sale un error de que una clase no se puede convertir a string:
“Catchable fatal error: Object of class stdClass could not be converted to string”
Si le hago un ECHO en el foreach si imprime la categoria, pero cuando quiero usar esa variable para lo que pretendo, marca este error. ¿No saben de algun otro metodo para obtener la categoria? o ¿Convertir esa clase a string? bueno desde ya muchas gracias!
Hola, Tengo una plantilla instalada la cual trae un widget que muestra los post recientes y agrega una miniatura de 40×40. Este widget es muy bueno pero lamentablemente me muestras los ultimos post de todas las categorías. Tu código php sería GENIAL poderlo incluir en este widgetpero no sé en que parte.
Si me pudieras ayudar sería FANTASTICO. Te dejo el código del widget de mi plantilla para que me indiques donde puedo insertar tu código.
— CODIGO DEL WIDGET —
‘Displays Recent Posts’);
$control_ops = array(‘width’ => 400, ‘height’ => 300);
parent::WP_Widget(false,$name=’ET Últimas Entradas’,$widget_ops,$control_ops);
}
/* Displays the Widget in the front-end */
function widget($args, $instance){
extract($args);
$title = apply_filters(‘widget_title’, empty($instance['title']) ? ‘Últimas Entradas’ : $instance['title']);
$postsNum = empty($instance['postsNum']) ? ” : $instance['postsNum'];
echo ”;
if ( $title )
echo $before_title . $title . $after_title;
?>
have_posts()) : while ($custom_query->have_posts()) : $custom_query->the_post();
include(TEMPLATEPATH . ‘/includes/widget-post.php’); ?>
<?php
echo ' ‘;
}
/*Saves the settings. */
function update($new_instance, $old_instance){
$instance = $old_instance;
$instance['title'] = stripslashes($new_instance['title']);
$instance['postsNum'] = stripslashes($new_instance['postsNum']);
return $instance;
}
/*Creates the form for the widget in the back-end. */
function form($instance){
//Defaults
$instance = wp_parse_args( (array) $instance, array(‘title’=>’Recent Posts’, ‘postsNum’=>’5′) );
$title = htmlspecialchars($instance['title']);
$postsNum = htmlspecialchars($instance['postsNum']);
# Title
echo ‘get_field_id(‘title’) . ‘”>’ . ‘Title:’ . ‘get_field_id(‘title’) . ‘” name=”‘ . $this->get_field_name(‘title’) . ‘” type=”text” value=”‘ . $title . ‘” />’;
# Number of posts
echo ‘get_field_id(‘postsNum’) . ‘”>’ . ‘Number Of Posts:’ . ‘get_field_id(‘postsNum’) . ‘” name=”‘ . $this->get_field_name(‘postsNum’) . ‘” value=”‘.$postsNum.’” />’;
}
}// end RecentWidget class
function RecentWidgetInit() {
register_widget(‘RecentWidget’);
}
add_action(‘widgets_init’, ‘RecentWidgetInit’);
?>
Hola, me parece muy bueno este post, pero por casualidad saben como puedo llamar un post en especifico.
La idea es que desde el pie de pagina en un dentro de un div mostrar un articuo que tengo.
Gracias
Hola Gracias por el aporte, ami me funcionó perfecto, pero mi necesidad es poco diferente, en el sidebar pretendo mostrar 2 listas (categoría 1 y 2) pero quiero que se muestren por més y año, ¿cómo es esto posible?
Saludos.
Excelente esta muy bien podre configurarlo con este tutorial
SERÍA IDEAL SI EL QUE ESCRIBE ESTE POST TAMBIÉN RESPONDIERA LAS PREGUNTAS. De lo contrario queda como alguien que COPIÓ y PEGÓ este artículo de algún lugar. Si no eres un COPY PASTE entonces responde las consultas que te realicen. ¿Qué sacas con hacer un post y ponerle la opción de comentarios si no te haces cargo de ellos? ESTO SE LLAMA QUERIDOS CONSULTANTES “FALTA DE MANTENCIÓN”.