Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Copa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Cómo mostrar entradas aleatorias en WordPress (Guía práctica fácil)

Nota editorial: Ganamos una comisión de los enlaces de socios en WPBeginner. Las comisiones no afectan a las opiniones o evaluaciones de nuestros editores. Más información sobre Proceso editorial.

¿Está buscando una forma de mostrar entradas aleatorias en WordPress?

Mostrar entradas aleatorias puede animar a los usuarios a navegar por los diferentes artículos de su sitio web, lo que se traduce en más páginas vistas y una mayor participación de los usuarios.

En este artículo, le mostraremos cómo mostrar fácilmente entradas aleatorias en WordPress.

Displaying random posts in WordPress

¿Por qué mostrar entradas aleatorias en WordPress?

Por defecto, WordPress lista las entradas de su blog en orden cronológico inverso (de la más reciente a la más antigua). Esto permite a los usuarios ver primero las entradas más recientes.

Sin embargo, la mayoría de los usuarios no podrán ver sus artículos más antiguos. Por ejemplo, si lleva mucho tiempo con su blog de WordPress, sus artículos más antiguos no aparecerán de forma destacada en ningún lugar del sitio web.

Una forma de superarlo es hacer del enlazado interno un hábito. Enlazar artículos antiguos en entradas nuevas ayudará a los usuarios a descubrirlos. También aumentará las visitas a tu página y mejorará el SEO.

Otra forma de evitar este problema es mostrar entradas aleatorias en tus páginas, entradas o barra lateral de WordPress.

Esto ayuda a los usuarios a descubrir contenidos que de otro modo no habrían encontrado, mejorando la experiencia general del usuario.

Dicho esto, veamos cómo puedes mostrar fácilmente entradas aleatorias en WordPress. Vamos a cubrir dos métodos, y puede utilizar los enlaces rápidos a continuación para saltar a la que desea utilizar:

Método 1: Mostrar entradas aleatorias en WordPress usando WPCode (Recomendado)

Si usted está buscando una manera fácil y personalizable para mostrar entradas al azar en WordPress, entonces este método es para usted.

Muchos tutoriales te dirán que lo hagas añadiendo código al archivo functions. php de tu tema. Sin embargo, el más mínimo error al escribir el código puede romper tu sitio web y hacerlo inaccesible.

Por eso recomendamos usar WPCode, que es el mejor plugin de fragmentos de código para WordPress del mercado. Es la forma más fácil y segura de añadir código personalizado a tu sitio web.

Primero, necesitas instalar y activar el plugin WPCode. Para obtener instrucciones detalladas, consulte nuestra guía para principiantes sobre cómo instalar un plugin de WordPress.

Nota: También puede utilizar el plugin gratuito WPCode para este tutorial. Sin embargo, la actualización a la versión Pro le dará acceso a una biblioteca en la nube de fragmentos de código, lógica condicional inteligente y mucho más.

Una vez activado el plugin, diríjase a la página Fragmentos de código ” + Añadir fragmento desde la barra lateral del administrador de WordPress.

Una vez allí, haga clic en el botón “Usar fragmento de código” situado bajo la opción “Añadir su código personalizado (nuevo fragmento de código)”.

Add new snippet

Esto le llevará a la página “Crear fragmento de código personalizado”, donde puede empezar escribiendo un nombre para el fragmento de código.

Este título es solo para su referencia y no se mostrará en el sitio web.

A continuación, debe elegir “Fragmento de código PHP” como “Tipo de código” en el menú desplegable de la parte derecha de la pantalla.

Choose PHP Snippet as the code type for displaying random posts

A continuación, copie y pegue el siguiente código en el cuadro “Vista previa del código”:

function wpb_rand_posts() { 
 
$args = array(
    'post_type' => 'post',
    'orderby'   => 'rand',
    'posts_per_page' => 5,
    );
 
$the_query = new WP_Query( $args );
 
if ( $the_query->have_posts() ) {
 
$string .= '<ul>';
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        $string .= '<li><a href="'. get_permalink() .'">'. get_the_title() .'</a></li>';
    }
    $string .= '</ul>';
    /* Restore original Post Data */
    wp_reset_postdata();
} else {
 
$string .= 'no posts found';
}
 
return $string;
} 
 
add_shortcode('wpb-random-posts','wpb_rand_posts');
add_filter('widget_text', 'do_shortcode');

Una vez activado, este código mostrará 5 entradas aleatorias en tu sitio web. También puede cambiar el valor 'posts_per_page ‘ a un número diferente.

A continuación, desplácese hasta la sección “Inserción” y elija el modo “Inserción automática”.

Incluso después de elegir este modo, tendrás que añadir el shortcode [wpb-random-posts] a la barra lateral, página o entrada de tu sitio web para mostrar entradas aleatorias.

Tenga en cuenta que este shortcode no es el resultado de la característica ‘Shortcode’ de WPCode y forma parte del fragmento de código en sí.

Choose an insertion method

Por último, desplázate hasta la parte superior y activa el conmutador “Inactivo”.

Después, basta con hacer clic en el botón “Guardar fragmento de código” para guardar los cambios.

Save snippet for displaying random posts

Mostrar entradas aleatorias en una página o entrada de WordPress

Una vez que haya guardado su fragmento de código, puede mostrar entradas aleatorias en la página o entrada de su sitio web utilizando este método.

En primer lugar, abra una página o entrada nueva o existente desde el escritorio de WordPress.

A continuación, haga clic en el botón “Añadir bloque” (+) situado en la esquina superior izquierda de la pantalla para abrir el menú de bloques. Desde aquí, busca y añade el bloque Shortcode a la página o entrada de WordPress.

A continuación, copie y pegue el siguiente shortcode en el bloque:

[wpb-random-posts]

Add shortcode in a page

Por último, haga clic en el botón “Publicar” o “Actualizar” de la parte superior para guardar los cambios.

Ahora, puede visitar su sitio web WordPress para marcar / comprobar las entradas aleatorias.

Preview for displaying random posts on a page or post

Mostrar entradas aleatorias en la barra lateral como widget

Si utilizas un tema clásico, este método es para ti.

En primer lugar, debe visitar la página Apariencia ” Widgets desde la barra lateral del administrador de WordPress.

Una vez allí, basta con hacer clic en el botón “Añadir bloque” (+) situado en la esquina superior izquierda de la pantalla para abrir el menú de bloques.

Desde aquí, localice y añada el bloque Shortcode en la pestaña ‘Barra lateral’. A continuación, copia y pega el siguiente shortcode en el bloque:

[wpb-random-posts]

Add shortcode for displaying random posts in sidebar widget

Por último, haz clic en el botón “Actualizar” de la parte superior para guardar los cambios.

Ahora, puede visitar su sitio para comprobar las entradas aleatorias que se muestran en su barra lateral de WordPress.

Displaying random posts as a widget

Mostrar entradas aleatorias en un tema de bloque

Si está utilizando un tema basado en bloques con el editor de sitio completo, entonces este método es para usted.

Puede empezar visitando la página Apariencia ” Editor desde la barra lateral del administrador de WordPress. Esto abrirá el editor completo del sitio de WordPress.

Una vez allí, tienes que hacer clic en el botón “Añadir bloque” (+) en la esquina superior izquierda y añadir el bloque shortcode al lugar que prefieras del sitio web.

A continuación, copia y pega el siguiente shortcode en el bloque:

[wpb-random-posts]

Add shortcode for random posts in FSE

Por último, haz clic en el botón “Guardar” de la parte superior para guardar los cambios.

Ahora, puede visitar su sitio web para ver la lista aleatoria de entradas.

Preview for random posts

Método 2: Mostrar entradas aleatorias en la barra lateral de WordPress usando el widget de entradas recientes extendido

Si quieres mostrar entradas aleatorias en tu barra lateral de WordPress sin usar ningún código, entonces este método es para ti.

Primero, necesitas instalar y activar el plugin Recent Posts Widget Extended. Para obtener instrucciones, puedes consultar nuestro tutorial sobre cómo instalar un plugin de WordPress.

Una vez activado el plugin, puede mostrar entradas aleatorias en su barra lateral de WordPress mediante un bloque.

Nota: El plugin solo funciona para el área de widgets en temas clásicos de WordPress. Si está utilizando un tema de bloque, entonces el bloque del plugin no estará disponible.

Del mismo modo, el plugin no permite mostrar entradas aleatorias en una página o entrada de WordPress.

Para mostrar entradas aleatorias en la barra lateral de WordPress, visite la página Apariencia ” Widgets desde el escritorio de administrador.

Aquí, haz clic en el botón “Añadir bloque” (+) en la esquina superior izquierda de la pantalla para abrir el menú de bloques. A continuación, busca y añade el bloque Entradas recientes ampliadas a la pestaña “Barra lateral”.

Se abrirán los ajustes de configuración del bloque. Aquí puede empezar escribiendo un título que se mostrará encima de su lista de entradas aleatorias.

Add block to widget

Una vez hecho esto, ve a la pestaña “Entradas” de la columna de la izquierda.

Desde aquí, puede seleccionar el tipo de contenido, el estado de la entrada y el orden de las entradas que desea que se muestren en su sitio web.

Configure settings

A continuación, desplácese hasta el menú desplegable “Orden por” y seleccione la opción “Aleatorio”. Si no configuras esta opción, el bloque solo mostrará las entradas más recientes publicadas en tu sitio.

Después, también puedes limitar las entradas a determinadas categorías seleccionándolas en la sección “Limitar a categoría”.

Choose random order

También puede establecer los ajustes para miniaturas, extractos, CSS personalizado y mucho más cambiando a otras pestañas del bloque.

Por último, haz clic en el botón “Actualizar” de la parte superior para guardar los cambios. Ahora, puede visitar su sitio web para marcar / comprobar las entradas aleatorias que aparecen en la barra lateral de WordPress.

Preview for displaying random posts

Bonificación: Optimice las entradas de su blog para SEO

Además de mostrar entradas aleatorias en su sitio web, también es importante optimizar todas y cada una de las entradas para el SEO.

Esto mejorará el posicionamiento de su sitio web en los motores de búsqueda y atraerá más tráfico, lo que le ayudará a generar clientes potenciales.

Para optimizar correctamente las entradas de tu blog, te recomendamos que utilices herramientas de búsqueda de palabras clave como el Generador de palabras clave de WPBeginner. Estas herramientas te permitirán encontrar palabras clave relevantes para utilizar en tu contenido.

WPBeginner keyword generator tool for content updates

Aparte de eso, también puede utilizar herramientas de ayuda a la redacción SEO como Semrush para descubrir LSI y palabras clave relacionadas, cambiar el tono del idioma y averiguar la longitud media de los artículos.

También puede utilizar All in One SEO para mejorar aún más la calidad de su contenido. Es el mejor plugin SEO para WordPress del mercado que te permite añadir FAQ y viene con un analizador de titulares, generador de títulos AI, esquema de artículos, asistente de enlazado y mucho más.

AIOSEO's landing page

Todas estas características pueden ayudarte a mejorar la calidad y el SEO de las entradas de tu blog. Para más detalles, puedes ver nuestra reseña / valoración completa de AIOSEO.

Otros consejos para mejorar la clasificación de las entradas de blog pueden ser el uso de categorías y etiquetas, la mejora de la legibilidad, la adición de una meta description o el uso de contenido visual como vídeos e imágenes en las entradas.

Para saber más, puede consultar nuestra guía para principiantes sobre consejos para optimizar las entradas de su blog.

Esperamos que este artículo te haya ayudado a aprender cómo mostrar entradas aleatorias en WordPress. Puede que también quieras ver nuestra guía para principiantes sobre cómo elegir el mejor registrador de dominios para tu sitio web y nuestra selección de los mejores servicios de marketing por correo electrónico para pequeñas empresas.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Descargo: Nuestro contenido está apoyado por los lectores. Esto significa que si hace clic en algunos de nuestros enlaces, podemos ganar una comisión. Vea cómo se financia WPBeginner , por qué es importante, y cómo puede apoyarnos. Aquí está nuestro proceso editorial .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

El último kit de herramientas de WordPress

Obtenga acceso GRATUITO a nuestro kit de herramientas - una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Reader Interactions

34 comentariosDeja una respuesta

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Jiří Vaněk says

    As I understand, the code is without featured images of posts. Is any options with code to display posts with featured images too?

  3. Chris Smith says

    My sticky posts always showing up in my random posts. Is there a way to exclude sticky posts from this code?

    • WPBeginner Support says

      To achieve that we would recommend using the plugin from the second method rather than tweaking the code.

      Administrador

  4. Michael says

    Is there an easy way to cache the results for a certain period of time instead of randomizing every time? Maybe like refresh once every 24hrs to reduce lessen the load on DB calls every time?

    • WPBeginner Support says

      For that functionality, you would want to check with the plugin’s support for if it is available.

      Administrador

  5. Marvin Duru says

    Please, i tried adding the shortcode on a specific position on my website not inside the post in PHP but the Random post section did not display but only show my text “[wpb-random-posts]”.

    What should i do?

    • WPBeginner Support says

      When using the block editor you would want to ensure you’re adding it using a shortcode block.

      Administrador

  6. Zeynep says

    Thanks the code works just fine. I changed the first page in my wordpress site to index.html, what do I need to run [wpb-random-posts] on my html page? My English is a bit weak, I hope you understand me.

  7. Elle says

    How would you go about styling this? I’m getting confused as to how I would control the design of this, i’ve never worked with styling PHP.

    • WPBeginner Support says

      It would depend on the styling you’re wanting to add for what needs to be done. You can add a class in the html code to give you something to target.

      Administrador

  8. Rob Packenham says

    Thanks for the helpful article.

    I have a question — my WordPress site pages include a sidebar with a random post (excerpts) widget.

    A problem is that Google indexes the pages and ‘sees’ the random post excerpts as content for the page. So in Google search, a page can show up as matching a search term only because one of the random post excerpts on the page matched the term (not the main content of page).

    But, when a user clicks on the link in Google search results they will see the page with a different set of random post excerpts in the sidebar — not the post excerpt with matching text. So it looks to them like a bad search.

    Ideally i’d like to exclude the random post excerpts from Google index ie hide them from Google, but that doesn’t look possible (?).

    If you have any suggestions I’d appreciate it! Thanks.

  9. Yin says

    Thanks a million for sharing this. I used another plugin for random post that no longer works. Then I find your site and have installed the plugin. It works like a charm.

  10. Lisa says

    Hi, and thanks for this helpful tutorial!
    Can you tell me what would be the piece of code to add to display random posts that are in a specific category? My theme doesn’t display a sidebar so I can’t use the plugin and it already has a random posts display under each article, but posts from all categories are included and displayed then. I tried to go check the theme code and add ‘post_category’ => ‘name-of-the-category’, but it doesn’t work. Any idea?

  11. Raff says

    Hi! I just want to ask what if i want to change random post every week or any given time. For example, i display a set of random post, it will not change until 7days or any given time. Thanks!

  12. Abhimanyu Kashyap says

    Thanks a ton, I was able to display random posts. I changed the no of posts to 1 to display 1 random post. Is there a better way to do it?
    I would also like to find out how I can use a variable instead of post type and enter one where I place the short code eg – [wpb-random-posts(‘post’)].
    How can I achieve this ??

  13. Nate says

    Setting posts to orderly => ‘rand’ is a half-measure. Sure, the post displays ‘randomly’, but like DI SEKITAR mentioned above, what use is displaying one random post if it’s going to be the same random post every time someone visits the site?

  14. smehsan says

    Sorry, But the string was not working and i just make the string global and it works fine now.

    global $string;

  15. Marléne Rose Shaw says

    Thanks for this great tutorial. Is there some way I can get the shortcode and then display the random posts beneath the content in a page instead of the sidebar??

  16. Katherine says

    JAYKAY

    To exclude the current post add

    ‘post__not_in’ => array(get_the_id())

    to the query.

    So your args will now be:

    $args = array(
    ‘post_type’ => ‘post’,
    ‘orderby’ => ‘rand’,
    ‘posts_per_page’ => 5,
    ‘post__not_in’ => array(get_the_id()),
    );

  17. di sekitar says

    really cool information,
    I tried used plugin that you mention, but i have big question.

    How to make random post different for every visitor or device that visiting my site?

    because i try visit my site using other notebook and smartphone, but the random post from those 2 device is same.

  18. JayKay says

    Hi,

    Advanced Random Posts Widget is a really good plugin, but i have a problem.
    How could you exclude the current/active post when you display a random post ?
    Is it possible to fix this ?

    The problem is the same with the method 2 code.

  19. Gaurav Khurana says

    thanks for this. i was always thinking about this, Since by default the latest post are visible on the home page itself. Thanks for this will definetely use this plugin

Deja tu comentario

Gracias por elegir dejar un comentario. Tenga en cuenta que todos los comentarios son moderados de acuerdo con nuestros política de comentarios, y su dirección de correo electrónico NO será publicada. Por favor, NO utilice palabras clave en el campo de nombre. Tengamos una conversación personal y significativa.