Categorías: Tutoriales

Evitar entradas duplicadas en el loop de WordPress

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.

F. Javier Carazo Gil

Cofundador de CODECTION, empresa especializada en WordPress, autor de un libro sobre WordPress (el primero en español) y multitud de artículos (en medios físicos y virtuales) sobre el tema. Participa en la comunidad WordPress de forma activa siendo parte del equipo organizador de la WordPress Meetup de Córdoba, dando charlas en diferentes WordCamp y siendo autor y coautor de multitud de plugins libres y premium para WordPress de gran éxito.

Ver comentarios

Entradas recientes

432 CVEs

5 días hace

Anti-IA

2 semanas hace

Memoria

3 semanas hace

Mal uso

4 semanas hace

Precio de la RAM

1 mes hace

AUR

1 mes hace