Entradas aleatorias de una categoría en WordPress

He estado buscando la manera más fácil de conseguir una lista con un número determinado de entradas seleccionadas aleatoriamente de una o más categorías. Algo que parece tan inmediato, una simple consulta aleatoria a una base de datos, no parece estar muy extendido en WordPress.

Encontré varios plugins, pero no he conseguido hacer funcionar ninguno. En tech-buzz recomiendan el Random Posts Plugin de Wasabi, pero la página parece estar caída. Una pena, que las opciones que detallan en tech-buzz hacen al plugin bastante versátil, aunque no parece que tenga opción para seleccionar categorías.

A través del hilo de los foros de WordPress Display Random Posts from Specific Categories me encuentro otro plugin que tampoco he conseguido hacer funcionar.

Por lo que he visto WordPress no viene preparado para utilizar la orden “ORDER BY RAND()” de mysql, que es la que devuelve elementos de una tabla en orden aleatorio. Para permitir su uso hay que modificar el archivo query.php alojado en el wp-include/. Los cambios que hay que hacer son menores y no hay peligro de cargarse nada, según cuentan en la lista de correo donde lo he encontrado. Copio aquí los cambios exactos en el query.php que me han funcionado a mí:

Sin cambios:

$allowed_keys = array('author', 'date', 'category', 'title', 'modified', 'menu_order');
...
if ( 'menu_order' != $orderby )
$orderby = 'post_' . $orderby;

Con cambios:

$allowed_keys = array('author', 'date', 'category', 'title', 'modified', 'menu_order', 'rand');
...
if ( 'menu_order' != $orderby && 'rand' != $orderby)
$orderby = 'post_' . $orderby;
if ('rand' == $orderby)
$orderby = 'RAND()';

Tras los cambios, se puede usar con query_posts la opción rand en el atributo orderby. Por ejemplo, para conseguir una sola entrada aleatoria de la categoría Aleatorio:

query_posts('category_name=Aleatorio&showposts=1&orderby=rand')


COMENTARIOS / 10 COMENTARIOS

[...] tiempo publiqué una manera de mostrar una entrada elegida aletoriamente de una categoría concreta en WordPress. Para ello había que tocar el archivo query.php de la [...]

Por Cómo mostrar un post al azar en WordPress | voragine.net el 05 de Feb de 2009 a las 14:49

[...] voragine.net he encontrado la forma de mostrar posts aleatorios de una [...]

Por Desarrollo y Crecimiento Personal » Blog Archive » Mostrar una frase aleatoria en el sidebar de wordpress el 06 de Feb de 2009 a las 3:38

Mi buenskotperez, en el topic que mencioas de tech-buzz alguien actualizó la URL correcta del plugin:
http://wasabi.pbwiki.com/Random%20Posts%20and%20Random%20Excerpts

O checa el post:
http://tech-buzz.net/2006/08/14/random-post-plugin-for-wordpress/

Ya lo descargué y apenas lo voy a testear. Lo que no me gustó es que no mencionan con cuáles versiones es compatible.
En fin.
Saludos

Por Guerry el 29 de Ene de 2008 a las 23:01

Gracias por la corrección, Guerry. En efecto no hay mucha información sobre el plugin, pero yo también lo probaré, pues me parecío, como ya apunté, bastante fácil de usar.

Por skotperez el 30 de Ene de 2008 a las 8:54

En cualquier caso, añadir los cambios que indico arriba en el archivo query.php me parece más sencillo y da más libertad a la hora de llamar aleatoriamente a cualquier comando dentro del Loop

Por skotperez el 30 de Ene de 2008 a las 8:58

hola…
en relacion a :

http://voragine.net/wordpress/lista-de-entradas-aleatorias-de-una-categoria

Funciona este metodo para mostrar entradas aleatorias?

Por fernando el 23 de Mar de 2008 a las 15:08

Claro, Fernando, cambiar las líneas del archivo query.php precisamente sirve para conseguir mostrar una lista con el número de entradas aleatorias que quieras. Sólo tendrás que introducir, tras los cambios en query.php, el código que especifico en el lugar donde quieras que aparezcan las entradas.

Por skotperez el 25 de Mar de 2008 a las 7:36

A partir de la versión 1.7 de Wordpress puedes usar directamente query_posts('category_name=Aleatorio&showposts=1&orderby=rand')

Por Rutrus el 05 de Feb de 2009 a las 20:43

Perdón, lógicamente me refería a la vesrión 2.7 de WP.

Me ha sido muy útil.

Por Rutrus el 05 de Feb de 2009 a las 21:18

Sí, efectivamente, eso es justo lo que comento en un post más reciente. Gracias por la receta, en cualquier caso.

Por skotperez el 10 de Feb de 2009 a las 19:44

COMENTA / EXPRESA TU OPINIÓN
Los comentarios tienen que ser aprobados por un editor antes de ser publicados.

XHTML: Puedes usar las siguientes etiquetas para dar formato: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

ARTÍCULOS RELACIONADOS / Lista generada automáticamente

MÁS / Artículos de Enero de 2008

MÁS / Otros artículos sobre wordpress

CALENTITO / Últimos artículos

Otros blogs en los que colaboro

RSS Obsoletos

  • RetroMadrid 2010 13 de Marzo de 2010
    Mañana se celebra, de diez de la mañana a ocho y media de la tarde en la Facultad de Informática de la Complutense, RetroMadrid 2010. Hay tantas conferencias, concursos, exposiciones y acontecimientos que será imposible estar a todo, pero nos pasaremos por allí. A ver si encontramos algo interesante en el rastrillo. […]
    paaq
  • El primer servidor de Google (40GB) 13 de Marzo de 2010
    Los inicios de Google fueron en la Universidad de Stanford, como parte del doctorado de unos estudiantes. Por aquellos tiempos, en 1996, los datos indexados les cabían en diez discos duros de 4 GB… La historia del buscador está llena de frikadas curiosidades, os dejo unas pocas: + fotos del servidor en el museo en el que [...] […]
    Edu
  • Detector de movimiento sobre un ATMega88 9 de Marzo de 2010
    Como mi último post se alargó más de la cuenta, dejé pendiente la implementación del sensor de presencia mediante nuestra nueva plataforma de desarrollo. Bueno, pues ya va tocando. Por si ya lo has olvidado, vamos a montar un sistema que detecta la presencia de gente mediante un PIR. Si hay alguien presente enciende unas luces [...] […]
    cogollo

RSS meipi

  • Traducción al catalán 10 de Marzo de 2010
    Os anunciaros que meipi.org ya se ha traducido al catalán gracias a la gente de Llefi@Net, Xarxa Ciutadana de Llefià. Llefi@Net es: un proyecto iniciado en 1999 por los ciudadanos y vecinos del barrio de Llefià de la ciudad de Badalona, que trabaja fomentando el conocimiento y uso de las nuevas tecnologías en el barrio con [...] […]
    pablo
  • Meipi à La Cantine pour CartoCamp 15 de Noviembre de 2009
    Aujourd’hui j’ai participé au CartoCamp (un BarCamp sur la cartographie) de Cartocube à La Cantine et j’ai pu rencontrer beaucoup d’acteurs de la cartographie en France. En un après-midi très dense il y a eu 15 atelier différents, tous sur des thématiques très intéressantes. Le but de ces rencontrer est, comme on dit à La Cantine, [...] […]
    immaginoteca
  • Meipi en la Laboral – Encuentro de Cartografía Ciudadana 5 de Noviembre de 2009
    Este verano tuvimos el placer de participar a las jornadas sobre cartografía ciudadana,  organizadas por Pablo de Soto (hackitectura.net) en la Laboral de Gijón. En esta ocasión aprovechamos para estrenar “oficialmente” meipi OPEN/S, la versión open source de nuestra plataforma. La experiencia nos ha gustado por múltiples razones. Una de ella es la posibilid […]
    immaginoteca