Redirecciona a un post aleatorio en WordPress

Escrito por: Redacción    30 abril 2012     Comentario     2 minutos

Enviar a tus lectores a posts aleatorios es una buena forma de que vuelvan a leer contenido antiguo.

, 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


Deja un comentario

Parece que tienes habilitado AdBlock.

La web podría no funcionar bien
si no lo deshabilitas.