Solucionar problema paginación query_posts WordPress

Una de las ventajas que ofrece la flexibilidad de WordPresses que podemos adaptar el contenido de nuestro loop eliminando categorías o modificando el número de entradas por página entre otras cosas.

Esto es posible gracias a la función de WordPressquery_posts().

Esta función es realmente potente y versátil, pero presenta un problema: sobreescribe el query original de WordPressdañando la paginación (dependiendo del plugin que utilicemos para ella).

Es decir, si tienes algo como esto:

query_posts('cat=8');

O algo como esto:

query_posts( array( 'cat' => 8 ) );

Por muchas páginas que avances dentro de tu paginación siempre verás las mismas entradas.

Para solucionar esto debemos resetear la paginación en la consulta nueva que realiza query_posts con este código:

query_posts( array( 'cat' => 8, 'paged' => get_query_var('paged') ) );

Y si lo anterior no te funciona, prueba con esto:

query_posts( array( 'cat' => 8, 'paged' => get_query_var('page') ) );

También puedes revisar el Codex en busca de más información acerca de la función query_posts().

Derechos de imagen de horiavarlan

Puede mejorarNo está malMe gustaEs bueno¡Excelente! (Ninguna valoración todavía)
Cargando…

7 comentarios en “Solucionar problema paginación query_posts WordPress

  1. Facundo dice:

    Sos mi idolo! Busque por todos lados, varias explicaciones, ninguna me funciono. En ninguna de las explicaciones que leí usaban array, me soluciono la vida. Gracias!

  2. Anon dice:

    Emm, ¡chachi¡

    ¡Funciona!

    Gracias =D

  3. Rafael dice:

    Eeeepa, gracias chee me funciono y casi me resigno de no solucionarla

  4. victord2exp dice:

    Gracias!!! me ayudo en mucho!!!

  5. Julio Garcia dice:

    Alguien ha conseguido query_posts con paginacion pero sin mostrar el último post publicado?
    Gracias

    1. DarioBF dice:

      Hola Julio, para eso tienes el argumento “offset”. Algo como esto.

  6. Jordi Clua dice:

    Muchas gracias. Me ha solucionado el problema !!!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

DARÍO BALBONTÍN FERNÁNDEZ es el Responsable del tratamiento de los datos personales del usuario y le informa que estos datos serán tratados de conformidad con lo dispuesto en el Reglamento (UE) 2016/679 de 27 de abril de 2016 (GDPR), por lo que se le facilita la siguiente información del tratamiento: Fin del tratamiento: mantener una relación comercial y el envío de comunicaciones sobre nuestros productos y servicios. Criterios de conservación de los datos: se conservarán mientras exista un interés mutuo para mantener el fin del tratamiento y cuando ya no sea necesario para tal fin, se suprimirán con medidas de seguridad adecuadas para garantizar la seudonimización de los datos o la destrucción total de los mismos.Comunicación de los datos: No se comunicarán los datos a terceros, salvo obligación legal. Derechos que asisten al usuario: Derecho a retirar el consentimiento en cualquier momento. Derecho de acceso, rectificación, portabilidad y supresión de sus datos y a la limitación u oposición al su tratamiento. Derecho a presentar una reclamación ante la Autoridad de control (agpd.es) si considera que el tratamiento no se ajusta a la normativa vigente. Datos de contacto para ejercer sus derechos: contacto@dariobf.com.