Redirecciona a un post aleatorio en WordPress
Es una lástima que con el paso del tiempo la mayoría de los posts de nuestros blogs caen en el olvido. Existen múltiples formas de «resucitarlos», como por ejemplo destacarlos en portada de alguna forma. En esta ocasión os voy a comentar como hacer esto, pero de forma totalmente aleatoria, para que nuestros lectores puedan echar un ojo a posts antiguos.
Se puede implementar de mil formas distintas, como poner un simple enlace en nuestra portada que nos lleven a post aleatorios, motrarlos por categorías o un largo etcetera reservado para los que tengáis bastante manejo en WordPress. Con el siguiente método crearemos una página aleatoria, que al dirigirnos a ella nos mostrará un post al azar.
Para comenzar tenemos que crear una página que se llame page-random.php, o otro nombre que prefieras como page-aleatoria.php. Aquí nos quedamos con el primero por un detalle muy importante, luego tenemos que usar el mismo nombre para ponérselo a la página, sino se usa la plantilla por defecto. Puedes elegir el que quieras, pero tenlo en cuenta al crear la página.
Copiamos el código que dejo a continuación en esa página, la guardamos y la subimos a la carpeta de nuestra plantilla de WordPress.
// argumentos que se le pasan al get_posts()
$args = array(
'numberposts' => 1,
'orderby' => 'rand'
);
// obtenemos una página aleatoria de la base de datos
$my_random_post = get_posts ( $args );
// procesamos la petición de la base de datos con un bucle foreach
foreach ( $my_random_post as $post ) {
// redirigimos al lector a post aleatorio
wp_redirect ( get_permalink ( $post->ID ) );
exit;
}
Una vez hecho esto nos dirigimos al panel de control de nuestra instalación para crear una página y la llamamos random (tienes que ponerle el mismo nombre que le pongas al archivo anterior, es decir, la palabra que viene tras el «page-«, de esta forma se aplica la plantilla correctamente).
Ahora si accedes a tu sitio usando la dirección www.tu-sitio.com/random, te redirigirá al un post aleatorio.
Vía | WPRecipes