Cómo evitar publicaciones duplicadas con múltiples bucles en WordPress
¿Busca arreglar publicaciones duplicadas que se muestran con múltiples bucles en WordPress?
Si usa varias consultas de WordPress para mostrar diferentes conjuntos de publicaciones, puede encontrarse con contenido duplicado. Esto se debe a que algunas publicaciones pueden coincidir con más de un ciclo y aparecer dos veces.
En este artículo, le mostraremos cómo evitar fácilmente publicaciones duplicadas con múltiples bucles en WordPress.

Cómo se ven las publicaciones duplicadas en múltiples bucles de WordPress
Al crear un tema de WordPress personalizado o una plantilla de página personalizada, a veces es posible que deba usar varios bucles de WordPress.
Por ejemplo, es posible que desee mostrar sus publicaciones recientes junto a las publicaciones más populares de su sitio. También podría ayudar a los lectores a encontrar contenido interesante mostrando todas las publicaciones en cada categoría.
En todos estos ejemplos, una sola publicación puede coincidir con los criterios para múltiples bucles. Cuando esto sucede, WordPress mostrará contenido duplicado.
Este contenido duplicado puede hacer que su sitio esté desordenado y poco profesional. También ocupa espacio en la pantalla sin agregar valor.
Dado que está generando publicaciones dinámicamente para cada bucle, no puede predecir manualmente si aparecerá una publicación duplicada en varios bucles.
Dicho esto, veamos una manera fácil de evitar publicaciones duplicadas cuando se trata de múltiples bucles en WordPress.
Evite publicaciones duplicadas en múltiples bucles de WordPress
Para esta guía, le mostraremos algunos ejemplos de código de WordPress que causan el error de publicación duplicada y luego compartiremos un fragmento de código que soluciona el problema.
Cuando crea un tema secundario de WordPress o una plantilla personalizada, su código puede verse completamente diferente. Sin embargo, puede usar nuestro fragmento como punto de partida y modificarlo para que se ajuste a su sitio web.
Primero, creemos un problema de publicación duplicada. En el siguiente código de muestra, mostramos todas las publicaciones en la categoría “viajes” y todas las publicaciones en la categoría “noticias” sin evitar publicaciones duplicadas.
/****** The First Query *******/ $first_query = new WP_Query( array ('category_name' => 'news','posts_per_page' => 3 )); // The Loopif ( $first_query->have_posts() ) echo '<ul>'; while ( $first_query->have_posts() ) $first_query->the_post(); //display postsecho '<li>';echo the_post_thumbnail( array(50, 50) );echo get_the_title(); echo '</li>'; echo '</ul>'; else // no posts found/* Restore original Post Data */wp_reset_postdata(); /****** The Second Query *******/$second_query = new WP_Query( array ('category_name' => 'travel','posts_per_page' => 3 ) ); // The Loopif ( $second_query->have_posts() ) echo '<ul>';while ( $second_query->have_posts() ) $second_query->the_post();echo '<li>'; echo the_post_thumbnail( array(50, 50) );echo get_the_title(); echo '</li>'; echo '</ul>'; else // no posts found/* Restore original Post Data */wp_reset_postdata();?>
Como puede ver, este código no busca publicaciones duplicadas en ninguna de las consultas.
Si una publicación pertenece tanto a la categoría de “noticias” como a la de “viajes”, aparecerá dos veces, como puede ver en la imagen a continuación.

Resolvamos este problema.
Para evitar publicaciones duplicadas en su blog de WordPress, deberá almacenar datos temporalmente en todas las publicaciones vistas en el primer ciclo.
Una vez que tenga esta información, puede modificar la segunda consulta para evitar que aparezcan publicaciones duplicadas en el segundo ciclo:
/****** The First Query *******/ $first_query = new WP_Query( array ('category_name' => 'news','posts_per_page' => 3) ); // The Loopif ( $first_query->have_posts() ) echo '<ul>'; while ( $first_query->have_posts() ) $first_query->the_post(); // Store Post IDs in an Array to reuse later$exclude[] = $post->ID; //display postsecho '<li>';echo the_post_thumbnail( array(50, 50) );echo get_the_title(); echo '</li>'; echo '</ul>'; else // no posts found/* Restore original Post Data */wp_reset_postdata(); /****** The Second Query *******/$second_query = new WP_Query( array ('category_name' => 'travel','post__not_in' => $exclude, // Tell WordPress to Exclude these posts'posts_per_page' => 3 ) ); // The Loopif ( $second_query->have_posts() ) echo '<ul>';while ( $second_query->have_posts() ) $second_query->the_post();echo '<li>'; echo the_post_thumbnail( array(50, 50) );echo get_the_title(); echo '</li>'; echo '</ul>'; else // no posts found/* Restore original Post Data */wp_reset_postdata();?>
En el código anterior, estamos almacenando los ID de publicación en una matriz llamada $exclude
. A continuación, estamos agregando el post__not_in
argumento a la segunda consulta, que excluirá las publicaciones vistas en el primer bucle.
Ahora, si visitas tu sitio web de WordPress, verás que las publicaciones duplicadas han desaparecido.

Esperamos que este artículo te haya ayudado a aprender cómo evitar publicaciones duplicadas con múltiples bucles en WordPress. También es posible que desee ver nuestra guía sobre cómo elegir el mejor software de diseño web o ver nuestra selección experta de los mejores creadores de páginas de arrastrar y soltar de WordPress.
Si disfrutó de este artículo, suscríbase a nuestro canal de YouTube para videos tutoriales de WordPress. También puedes encontrarnos en chirrido y Facebook.