Cómo redirigir a un post aleatorio desde un enlace del menú en WordPress

  • Autor Autor oTommy052
  • Fecha de inicio Fecha de inicio
O

oTommy052

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola a todos,

Me gustaría que me pudieseis ayudar en un asunto. Quiero poder crear una nueva página en WordPress, de modo que al pinchar en ella, redirija a un post al azar.

Todas las soluciones que encuentro en la web se refieren a mostrar posts aleatorios en el sidebar, pero lo que quiero es que sea a través de un enlace de una página, como una opción más del menú.

Gracias y un saludo! 🙂
 
bueno podrías copiar el codigo php de ese slidebar que crea la dirección aleatoria y listo lo pones en un menú de tu wordpress como si fuera una página.
 
Pero copiar el código directamente en un widget, por ejemplo, no es posible, da error. ¿Dónde dices que debería copiarlo exactamente?

Edito: Y, de paso... ¿alguien me podría sugerir algún código concreto para esta función?
 
a ver si este pedazo de código te ayuda, primero cópiate el template de page.php y cámbiale de nombre, luego agrega el siguiente código en la parte del body

$rand_posts = get_posts('numberposts=1&orderby=rand');
foreach( $rand_posts as $post ) : ?>
<a href="<?php the_permalink(); ?>">< ?php the_title(); ?></a> <br />
<?php the_content();?>
< ?php endforeach; ?>

una vez q hayas guardado, créate una nueva página y agrega como plantilla a este archivo modificado y guárdalo
=)
 
¿Cómo agrego como plantilla un archivo? No entiendo qué quieres decir con eso... :ambivalence:
_______

Por favor, se agradece un poco más de ayuda... Suponiendo que tengo un código para generar un post aleatorio que funciona, ¿dónde debo colocarlo?

Gracias.
 
Última edición:
Vale, ya conseguí lo que pretendía. La solución es crear una plantilla (template), como dijo taek, duplicando el page.php (en mi caso dupliqué y modifiqué sobre el index.php, porque me interesaba ese aspecto), que es la platilla por defecto para las páginas, y meterle el código correspondiente en el lugar adecuado. Yo utilizo el siguiente, y me funciona bien:
PHP:
<?php query_posts(array('orderby' => 'rand', 'showposts' => 3)); ?>
Después habría que subir el nuevo archivo al servidor (llamándolo, por ejemplo, randompage.php) y, por último, seleccionar la plantilla en una nueva página que crees. El tema es que no verás la opción para escoger plantillas si no añades al principio del randompage.php la siguiente línea:
PHP:
<?php /* Template Name: RandomPage */ ?>
Y eso es todo. Espero que a alguien le sirva.
 
Atrás
Arriba