Por motivos que pueden tener que ver con filtros o mala utilización de las consultas personalizadas para loops, es posible que en alguna ocasión suframos un problema: aparece contenido duplicado en nuestro blog o sitio realizado en WordPress.
Para evitar este problema, crearemos un array con los identificadores de las entradas, de forma que sepamos cuáles han sido ya mostradas en el loop actual y así evitar que se muestren dos veces. Tened en cuenta que las entradas están identificadas con su respectivo número entero que es su clave primaria, el identificador.
Veamos directamente el código:
$do_not_duplicate = array(); // inicializamos query_posts('ca=1,2,3'); // nuestra query while ( have_posts() ) : the_post(); if (!in_array($post->ID, $do_not_duplicate)){ // comprobamos the_title(); the_content(); } $do_not_duplicate[] = get_the_ID(); // remember ID's in loop endwhile; ?>
Podría también utilizarse el parámetros de la petición: post__not_in para hacer ‘post__not_in’ => $do_not_duplicate, para evitar el condicional. Como veis WordPress nos presenta multitud de alternativas.
https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.
Ver comentarios