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

Guía práctica: Entradas relacionadas con miniaturas en WordPress sin plugins

¿Desea mostrar una lista de entradas relacionadas en su sitio web de WordPress y prefiere utilizar código en lugar de un plugin?

Cuando los visitantes de su blog hayan terminado de leer un artículo que les interese, ofrecerles una lista de entradas relacionadas les mantendrá interesados y les ayudará a encontrar nuevos contenidos que leer.

En este artículo, le mostraremos cómo mostrar entradas relacionadas con WordPress usando código, sin necesidad de plugins.

How to: Related Posts with Thumbnails in WordPress Without Plugins

¿Por qué mostrar entradas relacionadas en WordPress?

Cuando tu blog de WordPress empieza a crecer, puede resultar más difícil para los usuarios encontrar otras entradas sobre el mismo debate.

Mostrar una lista de contenidos relacionados al final de cada entrada del blog es una buena forma de mantener a los visitantes en su sitio web y aumentar las visitas. También ayuda a mejorar la visibilidad de las páginas más importantes al mostrar los mejores contenidos donde la gente pueda encontrarlos fácilmente.

Si no está familiarizado con el código, entonces le resultará más sencillo elegir uno de los muchos plugins de WordPress para entradas relacionadas que pueden mostrar entradas relacionadas sin código.

Pero, si alguna vez te has preguntado si puedes mostrar entradas relacionadas sin usar un plugin, compartiremos dos algoritmos diferentes que puedes usar para generar entradas relacionadas con miniaturas usando sólo código:

Nota: Si desea mostrar una miniatura con cada entrada relacionada, asegúrese de añadir primero una imagen destacada a esas entradas.

Método 1: Cómo mostrar entradas relacionadas en WordPress por etiquetas

Una forma eficaz de localizar contenidos relacionados es buscar otras entradas que compartan las mismas etiquetas. Las etiquetas suelen utilizarse para centrarse en los detalles específicos que contiene una entrada.

Teniendo esto en cuenta, puede que desee seguir adelante y añadir algunas etiquetas comunes a las entradas que desea relacionar entre sí. Puede introducirlas en el cuadro “Etiquetas” del editor de WordPress.

The ‘Tags’ Settings Box in the WordPress Editor

Una vez que hayas añadido etiquetas a tus entradas, lo siguiente que debes hacer es añadir el siguiente fragmento de código a la plantilla single. php de tu tema.

Si necesitas ayuda para añadir código a tu sitio, consulta nuestra guía sobre cómo pegar fragmentos de código de la web en WordPress.

$orig_post = $post;
global $post;
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
'tag__in' => $tag_ids,
'post__not_in' => array($post->ID),
'posts_per_page'=>5, // Number of related posts that will be shown.
'ignore_sticky_posts'=>1
);
$my_query = new wp_query( $args );
if( $my_query->have_posts() ) {
   
echo '<div id="relatedposts"><h3>Related Posts</h3><ul>';
   
while( $my_query->have_posts() ) {
$my_query->the_post(); ?>
   
<li><div class="relatedthumb"><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_post_thumbnail(); ?--></a></div>
<div class="relatedcontent">
<h3><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_title(); ?--></a></h3>
<!--?php the_time('M j, Y') ?-->
</div>
</li>
<!--?php }
echo '</ul--></ul></div>';
}
}
$post = $orig_post;
wp_reset_query();

Este código busca etiquetas asociadas a una página y ejecuta una consulta a la base de datos para obtener páginas con etiquetas similares.

¿Dónde debes colocar el código? Eso depende de tu tema, pero en la mayoría de los casos, deberías poder pegar el código en la plantilla single. php de tu tema después de la entrada principal y justo encima de la sección de comentarios.

Si utiliza el tema Twenty Twenty-One, como nosotros en nuestro sitio de demostración, un buen lugar para pegar el código es en el archivo template-parts/content/content-single. php después de la cabecera y justo después de <?php the_content();.

Related Content by Tags Preview

Esto mostrará automáticamente el contenido relacionado en cualquier entrada de WordPress. Tendrás que cambiar el estilo y la apariencia de tus entradas relacionadas para que coincidan con tu tema añadiendo CSS personalizado.

Related Posts example

Consejo: En lugar de editar los archivos de su tema, lo que podría romper su sitio web, le recomendamos que utilice un plugin de fragmentos de código como WPCode.

WPCode hace que sea seguro y fácil añadir código personalizado en WordPress. Además, viene con opciones de ‘Inserción’ que le permiten insertar y ejecutar automáticamente fragmentos de código en lugares específicos de su sitio WordPress, como por ejemplo después de una entrada.

WPCode insertion options for custom code snippets

Para más detalles, consulte nuestra guía sobre cómo añadir código personalizado en WordPress. También puedes comprobar nuestra detallada reseña de WPCode para saber más acerca del plugin.

Método 2: Cómo mostrar entradas relacionadas en WordPress por categoría

Otra forma de mostrar contenido relacionado es listar entradas que estén en la misma categoría. La ventaja de este método es que la lista de entradas relacionadas casi nunca estará en blanco.

Como en el método 1, tienes que añadir un fragmento de código a la plantilla single. php de tu tema o en un plugin de fragmentos de código como WPCode. Para más detalles, consulta el Método 1 y nuestra guía sobre cómo añadir código personalizado en WordPress.

$orig_post = $post;
global $post;
$categories = get_the_category($post->ID);
if ($categories) {
$category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
$args=array(
'category__in' => $category_ids,
'post__not_in' => array($post->ID),
'posts_per_page'=> 2, // Number of related posts that will be shown.
'ignore_sticky_posts'=>1
);
$my_query = new wp_query( $args );
if( $my_query->have_posts() ) {
echo '<div id="related_posts"><h3>Related Posts</h3><ul>';
while( $my_query->have_posts() ) {
$my_query->the_post();?>
   
<li><div class="relatedthumb"><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_post_thumbnail(); ?--></a></div>
<div class="relatedcontent">
<h3><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_title(); ?--></a></h3>
<!--?php the_time('M j, Y') ?-->
</div>
</li>
<!--?php }
echo '</ul--></ul></div>';
}
}
$post = $orig_post;
wp_reset_query();

Ahora verá una lista de contenidos relacionados en la parte inferior de cada entrada.

Si desea cambiar el estilo y la apariencia de sus páginas relacionadas, entonces tendrá que añadir CSS personalizado para que coincida con su tema.

¿Quieres saber más acerca de cómo mostrar entradas relacionadas en WordPress? Marca / comprueba estos útiles tutoriales sobre entradas relacionadas:

Esperamos que este tutorial te haya ayudado a aprender cómo mostrar entradas relacionadas con miniaturas en WordPress sin plugins. Puede que también quieras aprender a hacer un seguimiento de los visitantes de tu sitio WordPress, o comprobar nuestra lista de 24 consejos para acelerar tu sitio web.

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

183 comentariosDeja una respuesta

  1. Syed Balkhi

    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. kabir bairwa

    I was trying to correct WordPress-related posts but it was not happening when I saw this code and I used this code in my WordPressfile so now my WordPress-related posts coming properly

    • WPBeginner Support

      Happy to hear our guide could help you!

      Administrador

  3. Jennifer

    Is there a way to have related post based on the post title. I do not have tags and my categories really don’t do the trick since there is no distinction between them.

    This would be of great help if you had a code to show related content based on the post title.

  4. aman

    I want code to display random posts and pages with thumbnail

  5. karan4official

    Instead of using <? use <?php everywhere

    • WPBeginner Support

      Thank you for your feedback, this article should currently be using the php version everywhere :)

      Administrador

  6. Motahar Hossain

    Thank you for your nice post.

    Here “ignore_sticky_posts” should be used instead of “caller_get_posts”. Because “caller_get_posts” is deprecated.

    • WPBeginner Support

      Thanks for pointing that out, we’ll be sure to look into updating the article :)

      Administrador

  7. Frank

    Can you direct me as to where to add what categories I would like to limit the related posts to?

    • WPBeginner Support

      This method limits the posts to the category the post is in. To limit the categories you would need to create an if statement to exclude certain categories.

      Administrador

  8. Greg

    Is it possible where there are more than X related posts by category that are related that you can randomise say 3 posts?

    • WPBeginner Support

      While it is possible, it would require adding far more to this, you may want to look into a plugin for that type of customization.

      Administrador

  9. luigi

    Hi, is it possible to limit them by date? Show only those of the last year?

  10. Luis

    I found a way to make the smaller thumbnails, but it shows them in a column and not horizontally. How can this be modified?

  11. Luis

    The script is working well. The only problem I have is that the thumb-nails are very large. Would there be some way to make them smaller?

  12. Ana

    how to do for create a shortcode for this code, I created the function but I do not know how to return the print to the page.

  13. Musarrof

    Why I’m facing this problem. syntax error, unexpected end of file
    Please help me.

  14. Mike

    Hello,
    I’m a beginner in WorldPress.
    I’d like to show Related Posts.
    In the main menu I have Category A, and in Category A – Subcategories A, B and C. The posts are in Category A, but they can also be present in all 3 Subcategories.
    When choosing one of the Related Posts something goes wrong and the posts from the initially chosen Subcategory don’t show correct anymore.

  15. Anthony Reese

    Thanks for the tutorial. This was incredibly useful and worked like a charm!

  16. pawan singh

    Hi Admin, Very informative article. I like your site because of simplicity and straightforwardness. All articles are to the point but when it comes to sharing the knowledge of code you become too technical. Just ignore the fact that much of the visitors are not coding expert. Wouldn’t it be much better if you just add 2or 3 more lines in your explanation to make it complete and easily understandable to all. Anyway, great article But I want to know which code or plugin is Wpbeginner using?

  17. Tracy

    what really sucks about your articles is you never actually say HOW to do something. It’s all well and good to tell me to put code into my single.php, but as a beginner I don’t know what that is or where to find it. You might want to think about putting this kind of critical information into your articles instead of assuming we know what it means, or that we have surfed every one of your articles to figure it out.

    • Victor Siyaya

      I Agree. I have no idea where to paste this code too.

  18. Rose

    Thanks for the great post, very useful. I came across an error in the code so wanted to share in hope it may be useful for others in the future. The error was:

    WP_Query was called with an argument that is deprecated since version 3.1.0! “caller_get_posts” is deprecated. Use “ignore_sticky_posts” instead.

    So I simply replaced it and it worked fine. I am also using namespacing so I needed to change WP_Query to \WP_Query plus I changed the order of the below:

    global $post;
    $orig_post = $post;

    Thanks again
    Rose

  19. sanjeev Kumar

    sir
    I am using the code of categories working properly but one thing is when on home page same category of 2 or 3 post then the link show balack but i want to show to show category which is next post

  20. Luan

    Hi,

    Thanks for your post. I added the code in content-single.php and it worked. However, it displays as 1 column not 3 columns like your example. Could you please help me on this? I want my related posts to be displayed in 1 row, 3 columns. Thanks so much.

  21. Claudio

    Hello!
    The first link on Aditional Sources, is broken.
    Thank you by the code.

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.