El argumento offset de WP_Query no funciona

2 mar 2016, 21:24:12
Vistas: 37.6K
Votos: 10

Quiero mostrar todas las entradas comenzando desde un cierto desplazamiento (offset), mi consulta es:

WP_Query( array(
    'posts_per_page'    => -1,
    'offset'            => 20,
    'cat'               => 5,
) );

Esta consulta muestra todas las entradas sin comenzar desde el valor de offset. ¿Por qué sucede esto?

3
Comentarios

¿Qué sucede si haces posts_per_page=200?

Howdy_McGee Howdy_McGee
2 mar 2016 21:26:27

@Howdy_McGee Funciona correctamente. Pero ¿por qué no funciona con un valor de -1?

rapidpage rapidpage
2 mar 2016 21:31:45

Mira mi respuesta, también puedes intentar usar nopaging => true o paged => 1 para ver si eso también funciona con offset y tu valor de -1.

Howdy_McGee Howdy_McGee
2 mar 2016 21:36:52
Todas las respuestas a la pregunta 1
0
28

El índice offset para WP_Query generalmente funciona con la paginación. Cuando configuras la paginación en -1, la función asume que vas a obtener todos los posts y no habrá paginación ni desplazamiento. Para contrarrestar esto, puedes establecer posts_per_page en un número alto como 999. Según la Referencia de Funciones de WP_Query, la sección de paginación indica:

'posts_per_page'=>-1 para mostrar todos los posts (el parámetro 'offset' se ignora con un valor de -1). Establece el parámetro 'paged' si la paginación se desactiva después de usar este parámetro.

2 mar 2016 21:36:09