Tutoriales de WordPress de Confianza, cuando más los necesitas.
Guía para Principiantes de WordPress
Copa WPB
25 Millones+
Sitios web que usan nuestros plugins
16+
Años de experiencia en WordPress
3000+
Tutoriales de WordPress de expertos

Cómo: Publicaciones relacionadas con miniaturas en WordPress sin plugins

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

En WPBeginner, a menudo enfatizamos la importancia de involucrar a su audiencia y mantenerlos explorando su contenido. Una estrategia efectiva que hemos visto utilizada en innumerables sitios exitosos de WordPress es mostrar publicaciones relacionadas.

Cuando los visitantes de su blog terminan de leer un artículo que les interesa, ofrecer una lista de publicaciones relacionadas los mantendrá interesados y les ayudará a encontrar nuevo contenido para leer.

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

Cómo: Entradas relacionadas con miniaturas en WordPress sin plugins

¿Por qué mostrar publicaciones relacionadas en WordPress?

Cuando su blog de WordPress comienza a crecer, puede volverse más difícil para los usuarios encontrar otras publicaciones sobre el mismo tema.

Mostrar una lista de contenido relacionado al final de cada publicación de blog es una excelente manera de mantener a sus visitantes en su sitio web y aumentar las visitas a la página. También ayuda a mejorar la visibilidad de sus páginas más importantes al mostrar su mejor contenido donde las personas pueden encontrarlo fácilmente.

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

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

Nota: Si deseas mostrar una miniatura con cada publicación relacionada, asegúrate de agregar primero una imagen destacada a esas publicaciones.

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

Una forma eficiente de localizar contenido relacionado es buscar otras publicaciones que compartan las mismas etiquetas. Las etiquetas se usan a menudo para centrarse en los detalles específicos contenidos en una publicación.

Teniendo esto en cuenta, es posible que desees agregar algunas etiquetas comunes a las publicaciones que deseas relacionar entre sí. Puedes ingresarlas en el cuadro 'Etiquetas' en el editor de WordPress.

El cuadro de configuración de 'Etiquetas' en el editor de WordPress

Después de haber agregado etiquetas a tus publicaciones, lo siguiente que debes hacer es agregar el siguiente fragmento de código a la plantilla single.php de tu tema.

Si necesitas ayuda para agregar código a tu sitio, consulta nuestra guía sobre cómo pegar fragmentos 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 con una página y luego 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 del post principal y justo antes de la sección de comentarios.

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

Vista previa de contenido relacionado por etiquetas

Esto mostrará automáticamente contenido relacionado en cualquier post de WordPress.

Necesitarás cambiar el estilo y la apariencia de tus posts relacionados para que coincidan con tu tema agregando CSS personalizado.

Ejemplo de entradas relacionadas

Consejo: En lugar de editar los archivos de tu tema, lo que podría dañar tu sitio web, te recomendamos usar un plugin de fragmentos de código como WPCode.

WPCode hace que sea seguro y fácil agregar código personalizado en WordPress. Además, viene con opciones de 'Inserción' que te permiten insertar y ejecutar fragmentos automáticamente en ubicaciones específicas de tu sitio de WordPress, como después de una publicación.

Opciones de inserción de WPCode para fragmentos de código personalizados

Para más detalles, consulta nuestra guía sobre cómo agregar código personalizado en WordPress. También puedes consultar nuestra reseña detallada de WPCode para obtener más información sobre el plugin.

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

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

Al igual que el Método 1, necesitas agregar 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 agregar 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ás una lista de contenido relacionado al final de cada publicación.

Si deseas cambiar el estilo y la apariencia de tus páginas relacionadas, entonces necesitarás agregar CSS personalizado para que coincida con tu tema.

¿Quieres aprender más sobre cómo mostrar publicaciones relacionadas en WordPress? Consulta estos útiles tutoriales sobre publicaciones relacionadas:

Esperamos que este tutorial te haya ayudado a aprender cómo mostrar publicaciones relacionadas con miniaturas en WordPress sin plugins. También es posible que desees aprender cómo rastrear visitantes a tu sitio de WordPress, o consultar nuestra lista de 24 consejos para acelerar tu sitio web.

Si te gustó este artículo, suscríbete a nuestro canal de YouTube para obtener tutoriales en video de WordPress. También puedes encontrarnos en Twitter y Facebook.

Descargo de responsabilidad: Nuestro contenido es compatible con el lector. Esto significa que si haces clic en algunos de nuestros enlaces, podemos ganar una comisión. Consulta cómo se financia WPBeginner, por qué es importante y cómo puedes apoyarnos. Aquí está nuestro proceso editorial.

El Kit de herramientas definitivo para WordPress

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

Interacciones del lector

184 CommentsLeave a Reply

  1. Tengo una pregunta sobre esto: Estoy lidiando con el código para capturar publicaciones de categorías secundarias en lugar de categorías principales. ¿Algún consejo?

  2. Estoy intentando usar las publicaciones relacionadas por categoría y noté que dijiste que el código tiene que ir antes de los comentarios en el bucle principal. En mi código, quiero que las publicaciones relacionadas vayan después de los comentarios en el bucle. Cuando hago esto, noto que mi plugin de comentarios Disqus tarda más en cargarse ahora. ¿Es por un error con los comentarios o es normal?

  3. por favor

    ¿alguien podría ayudar a un novato como yo a personalizar este script para que muestre las publicaciones relacionadas de forma horizontal?

    de izquierda a derecha..

    en lugar de mostrarlo actualmente de arriba abajo, verticalmente...

    • Hola,

      Lo que hice fue reemplazar los códigos y con mi propio HTML y CSS. Los códigos crean listas para cada publicación, y eso suele ser de forma vertical.

      ——————

      <a href="” rel=”bookmark” title=””> <a href="” rel=”bookmark” title=””>

      ——————

      Reemplacé el inicial con y el final con como mis etiquetas HTML. Luego escribí mi CSS para que se ajuste a las necesidades específicas de esa clase div en tu sitio web. Por ejemplo, una clase pleft de muestra podría verse así:

      .pleft {float:left; padding:2px; margin:10px; width:278px; height:190px;}

      Utilizo el selector float: en mi CSS para mover las publicaciones horizontalmente, y los márgenes y el relleno para dar a cada publicación espacio entre ellas. Agregué un ancho y alto específicos para ejemplos adicionales.

      Espero que esto ayude.

  4. Tengo etiquetas relacionadas, seguro, pero cuando agrego el código no veo nada. Además, cuando agrego tu código para restringir a un tipo de publicación personalizado, me da un error. Cambié el tipo de publicación a mi tipo de publicación específico.

  5. @wpbeginner hola

    gracias por tu rápida respuesta…

    pero soy un verdadero novato en todo lo que dices..

    ¿podrías dar un pequeño ejemplo?

    ¿para hacerlos horizontales como en tu propio blog?

    puedes ponerte en contacto por mi correo: khiloc en gmail punto com

  6. @subzerokh Tendrías que editar el estilo. No es tan difícil. Simplemente envuelve cada publicación en un div. Especifica un ancho para ese div y luego establece una propiedad float left. Ajusta los márgenes y cosas así y lo tendrás.

  7. ¡¡hola a todos!! ¡¡gracias por este script maravilloso!!

    ¡¡Es lo único que encontré que hace exactamente lo que quería!!

    Pero solo muestra las publicaciones relacionadas de forma vertical (de arriba a abajo)

    Me gustaría que se mostraran de izquierda a derecha (horizontalmente)

    ¿Cómo se hace eso por favor??

  8. ¡Hola!

    ¡gran publicación! quizás podrías ayudarme:

    tengo una miniatura automática si no se define ninguna,

    if ($thumb_array[‘thumb’] == ”) $thumb_array[‘thumb’] = ‘link to your default thumbnail image’;return $thumb_array;

    Ahora mi pregunta es cómo definir una miniatura para cada categoría, la cual se usará si no se define ninguna en la publicación.

  9. Hola

    gracias por tu gran publicación..

    Pero, ¿hay algún cambio para obtener publicaciones por categorías pero no en ul y li y no en miniatura?

    Me refiero a que las publicaciones completas se muestren en publicaciones relacionadas... igual que en la página de inicio, con un enlace de 'leer más'.

    gracias

    esperando tu respuesta..

  10. Hola

    gracias por tu gran publicación..

    Pero, ¿hay algún cambio para obtener publicaciones por categorías pero no en ul y li y no en miniatura?

    Me refiero a que las publicaciones completas se muestren en publicaciones relacionadas... igual que en la página de inicio, con un enlace de 'leer más'.

    gracias

    esperando tu respuesta..

  11. Esto es genial, justo lo que estaba buscando. Me pregunto, sin embargo, ¿cómo podría combinar los dos anteriores y si no hay etiquetas, entonces muestra las publicaciones de la misma categoría?

    Intentando resolver esto pero aún no he avanzado mucho

  12. Gracias por el código, funcionó, pero ¿cómo lo estilizo? Me gustaría que fueran 4 historias una al lado de la otra como las tuyas. En mi sitio se muestran una encima de otra y no como las tuyas.

    • Eso es CSS. No estamos usando este código para mostrar historias relacionadas. Segundo, creo que lo que estás diciendo son las historias destacadas en nuestra barra lateral. Hemos escrito otra publicación sobre eso en nuestro sitio.

      Administrador

  13. ¿hay alguna forma de mostrar las miniaturas en publicaciones relacionadas sin usar imágenes destacadas o miniaturas de publicación?
    es decir, usar cualquier imagen utilizada en la publicación...

    • Sí, puedes utilizar las técnicas de respaldo compartidas por otros desarrolladores que extraen la primera imagen de la publicación. Pero recomendamos usar las miniaturas de las publicaciones de WordPress…

      Administrador

  14. Hola… Solo quería decir que he estado construyendo mi sitio web de WordPress desde cero y este código me funciona perfectamente usando WP 3.1…. Todo lo que necesito hacer ahora es estilizar el CSS y conseguir algunas miniaturas para las publicaciones. Gracias por tu ayuda con el código.

  15. Hola, ¿hay alguna forma de excluir categorías? Tengo dos categorías principales a las que se asignan todas las categorías. Las categorías principales tienen subcategorías y me gustaría mostrar solo publicaciones relacionadas de las subcategorías.

    ¿Es esto posible, excluyendo los id's de las categorías principales?

    ¡Gracias por tu consejo!

    Por cierto… ¡me encanta el código… y funciona genial!

    • Por cierto, también resolví esto:

      Simplemente agrégalo al array:

      $args=array(
      ‘category__in’ => $category_ids,
      ‘post__not_in’ => array($post->ID),
      ‘posts_per_page’=> 2, // Número de publicaciones relacionadas que se mostrarán.
      ‘caller_get_posts’=>1,
      ‘post_type’=>’videos’
      );

  16. Hola,

    Gracias por este tutorial. Me pregunto si hay alguna manera de que los productos relacionados se aleatoricen. He revisado diferentes productos en la misma categoría y se mostraron los mismos productos relacionados.

    Gracias

  17. Copié este código y lo puse en mi single.php sin cambiar nada y no se muestra nada. ¿Hay algo mal en mi código? pastebin.com/kg0SkrAg

  18. Esto no muestra una miniatura; ni siquiera hay una llamada para una imagen en el código. No veo cómo alguien puede hacer que esto funcione.

    • El código para la imagen es: the_post_thumbnail(); << Esto no es HTML estático donde verás el código src de la imagen. La función llama a la base de datos para buscar una imagen destacada, también conocida como miniatura, que está adjunta a cada artículo. Si se encuentra, mostrará la imagen. Ahora, si no tienes habilitadas las miniaturas de publicaciones en tu tema, primero necesitas agregarlas:

      https://www.wpbeginner.com/wp-themes/how-to-add-post-thumbnails-in-wordpress/

      El artículo lo indicaba claramente en la sección de Nota. Deberías considerar leerlo a fondo.

      Administrador

  19. ¡Oye amigo, amo tu blog!

    ¿Tengo una pregunta?

    ¿Puedes hacer el mismo truco pero "POR Autor"?

    ¿mostrando las últimas publicaciones por autor?

    you will save my life :-)

    ¡Por cierto, gracias por este sitio web!

  20. ¡Gracias por este código! Lo he probado y funciona de alguna manera.

    Puedo hacer que muestre una lista de artículos relacionados, lo cual es un gran beneficio.

    Pero no parece que pueda hacer que aparezcan imágenes.

    Los artículos tienen imágenes si este código las extrae.

    También entré y creé imágenes para cada publicación con la etiqueta personalizada "relatedthumb". Pero, aún así, no hay imágenes.

    ¿Hay algo más que necesite hacer?

    ¡Muchas gracias de antemano!

    Quinn

  21. Gracias por compartir. He estado usando este código por un tiempo pero tiene un problema: al agregar etiquetas a una publicación, WP las ordena alfabéticamente independientemente de la prioridad que les haya agregado. Por lo tanto, este código muestra publicaciones relacionadas que coinciden solo con la primera etiqueta, lo que a veces es menos relevante.
    ¿Quizás tenga alguna idea sobre cómo evitar esta autoordenación de etiquetas por parte de WordPress o alguna otra solución?

    • Doug, por favor contáctanos usando el formulario con un ejemplo de enlace en vivo, y podremos ayudarte. Sabemos que este código funciona porque algunos de nuestros clientes lo están usando en sus sitios.

      Administrador

  22. Gran tutorial. ¿Alguien podría mostrarme un single.php funcional con este código?

    Todavía estoy aprendiendo PHP.

    Desafortunadamente
    Error de análisis: error de sintaxis, T_ENDIF inesperado en C:\xampplite\htdocs\mock\wp-content\themes\scwd\single.php en la línea 76

  23. Gracias por este artículo. He estado buscando mucho tiempo para mostrar las miniaturas con mi artículo y no he podido hacerlo. He probado muchos plugins de WordPress pero no he podido. Espero que esto me ayude.

Deja una respuesta

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