comparte el articulo 

Post aleatorios por categorías en WordPress

Actualizado el 14/09/2013 < > 5 Cometarios

Resumen: Si quieres mostrar los últimos post de una categoría concreta, o lo que es más, posts aleatorios de esa categoría aquí te traigo la solución.

Normalmente cuando entras en un blog hecho con WordPress en la página principal te muestra las últimas entradas publicadas en ese blog.

Si lo que quieres es mostrar las últimas entradas publicadas en una categoría concreta del blog y no en otras, o lo que es más, entradas aleatorias de una categoría sigue leyendo que puedes encontrar la solución. Iremos paso a paso.

Mostrar los últimos post del blog en WordPress

Esta es la función por defecto que viene en el index de los weblogs de WordPress, que te ofrece las últimas entradas publicadas del blog.

Este código lo sabrás de sobra, pero por si acaso nunca está demás tenerlo a mano:

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
<?php the_time('j/m/y') ?>
<?php the_excerpt(); ?>
<?php endwhile; ?>

En este código se está mostrando el extracto de cada entrada, no el contenido completo, para mostrar el contenido completo hay que sustituir the_excerpt por  (se puede modificar):

<?php the_content('Seguir leyendo... &raquo;'); ?>

Post aleatorios en WordPress

Otra cosa que puede interesarnos hacer es mostrar entradas aleatorias del blog entero. Esto puede ser útil para mostrar contenido interesante al visitante, hacer más visibles entradas antiguas o cualquier otro uso que se te ocurra. Aquí el código para hacerlo:

<ul>
<?php
  $rand_posts = get_posts('numberposts=5&orderby=rand');
  foreach( $rand_posts as $post ) : ?>

<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>

</ul>

Se puede cambiar el número de entradas aleatorias que se enseñarán modificando numberposts=5 por el número de entradas que quieras mostrar.

También tienes plugins que lo hacen por ti: Advanced Random Post o Random Posts.

Post aleatorios por categorías en WordPress

Buscando como mostrar entradas aleatorias en WorPress para una categoría determinada eliminando el resto, di con la solución. Como me costó encontrarlo un poco, me lo guardo en el blog para la próxima vez y lo comparto con quien lo necesite. Aquí el código:

<?php $reciente = new WP_Query("cat=XX&showposts=5&orderby=rand");
      while($reciente->have_posts()) : $reciente->the_post();?>
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
<?php the_excerpt(); ?>
<?php endwhile; ?>

Donde pone showposts=5, 5 es el número de artículos que mostrará, puedes modificarlo para mostrar el número de artículos que quieras.

Donde pone cat=XX, hay que sustituir las XX por el número de la categoría.

El orderby=rand es lo que hace que los post se muestren de forma aleatoria.

Obtener la ID de una categoría

Ahora bien, obtener el número (o id) de una categoría en WordPress es menos sencillo de lo que parece. Para ello hacemos lo siguiente: entramos al panel de administración y en la sección de entradas (post), pinchamos en categorías. Si pones el ratón encima del nombre de la categoría de la que quieras averiguar su ID, en el navegador abajo te saldrá una url como la siguiente:

http://www.tublog.com/wp-admin/categories.php?action=edit&cat_ID=4

Ese último número que aparece es el ID de nuestra categoría.

Si no te ha quedado claro, aquí un videotutorial de WordPress muy cortito explicándolo (aunque se basa en la versión 2.6 de Wordpres):

Últimos post publicados en una categoría

Volvamos a los post aleatorios según la categoría. Si quieres hacer lo mismo pero mostrando los últimos post publicados en una categoría y sólo en esa, tal y como salen las actualizaciones de todo el blog en portada (pero sólo de esa categoría, repito), se usa el mismo código de antes pero eliminando el orderby. Sería así:

<?php $reciente = new WP_Query("cat=XX&showposts=5");
     while($reciente->have_posts()) : $reciente->the_post();?>
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
<?php the_excerpt(); ?>
<?php endwhile; ?>

Después de todo esto, si no te quieres complicar mucho la vida puedes recurrir a los plugins de WordPress, en este caso puedes usar Random Posts from Category, que como su nombre indica hace lo que estamos tratando en este artículo. Te da una lista de post aleatorios de una categoría seleccionada de tu blog de WordPress.

Publicado el 06/11/2009, última actualización 14/09/2013.

Licencia: Eres libre de distribuir este artículo bajo los términos de la licencia creative commons, siempre que pongas claramente el siguiente texto en la página que publica el artículo (enlaces activos incluidos):

Autor: Verónica Milán

URL: Post aleatorios por categorías en WordPress

Añadir Comentario (Subir al texto)

5 Cometarios

  1. Mostrar post aleatorios por categorías con WordPress

    […] La versión completa de este artículo puedes leerla aquí: Post aleatorios por categorías en WordPress […]

    Martes, 17 de noviembre 2009

  2. PatySama

    Excelente muchas gracias fue de mucha utilidad

    Sábado, 6 de marzo 2010

  3. PatySama

    Ahora tengo el problema que no puedo llamar a los post de las otras vategorias

    Lunes, 8 de marzo 2010

  4. Miguel

    Muy buen dato! gracias por ponerlo Saludos sigue asi!!

    Lunes, 26 de julio 2010

  5. Hernan

    Muy buena la info. Me gustaria saber, ahora que esta de moda el wp multisite, si es posible hacer algo igual o parecido con los subdominios en el dominio principal.

    Lunes, 6 de diciembre 2010

(Subir al texto)

Añadir Comentario

* Campos obligatorios

Meneame Bitacoras