¿numberposts? ¿showposts? ¿posts_per_page?

20 sept 2011, 00:42:20
Vistas: 49.4K
Votos: 28

Así que la documentación en el Codex es bastante clara en que showposts está deprecado. Pero esa misma documentación no menciona nada sobre numberposts. En cambio, posts_per_page está listado.

Pero si nos dirigimos a la documentación del Codex para get_posts no vemos ninguna mención de posts_per_page, en su lugar citan numberposts.

En post.php podemos ver lo que está sucediendo: numberposts se establece como valor predeterminado (5), pero luego se copia a posts_per_page (a menos que posts_per_page esté establecido en los argumentos).

Así que mi pregunta es realmente bastante minuciosa, pero quiero actualizar el Codex y quería preguntarles - ¿hay alguna razón por la que no deberíamos simplemente fomentar el uso de posts_per_page en todos los casos, eventualmente deprecando numberposts? ¿O me estoy perdiendo alguna perspectiva crítica aquí?

3
Comentarios

Dado que numberposts está obsoleto, es una mejor práctica usar posts_per_page de ahora en adelante.

Brian Fegter Brian Fegter
20 sept 2011 02:13:55

@Brian, ¿puedes indicarme dónde ves que numberposts está oficialmente obsoleto? No pude encontrarlo en el código fuente.

Tom Auger Tom Auger
20 sept 2011 15:42:28

Lo siento, me refería a showposts. http://codex.wordpress.org/Class_Reference/WP_Query#Pagination_Parameters Mis disculpas.

Brian Fegter Brian Fegter
20 sept 2011 17:11:55
Todas las respuestas a la pregunta 2
3
12

En mi opinión, dejar obsoleto numberposts no tendría sentido, ya que numberposts se utiliza para consultar una cantidad x de publicaciones, mientras que posts_per_page se usa para indicar cuántas publicaciones por página se muestran durante la paginación. Si se dejara obsoleto numberposts en favor de simplemente posts_per_page, entonces la paginación no existiría.

Ejemplo:

"numberposts" => 50, "posts_per_page" => 10

Un total de 50 publicaciones para consultar, 10 publicaciones por página, dando como resultado 5 páginas de 10 publicaciones cada una.

Eliminación de numberposts:

"posts_per_page" => 50

Un total de 50 publicaciones para consultar, 50 publicaciones por página (ya que copia el valor de numberposts a posts_per_page), dando como resultado 1 página de 50 publicaciones y sin paginación.

Házme saber si solo estoy reiterando algo de lo que ya estás al tanto, y simplemente estoy un poco confundido por la pregunta.

20 dic 2011 18:58:14
Comentarios

Estoy de acuerdo en que suenan como si deberían hacer cosas diferentes, pero si estudias el código, ¡en realidad no lo hacen! De hecho, prefiero "numberposts" en algunos casos, como cuando la noción de "páginas" no entra realmente en juego, por ejemplo, en algún resultado en un widget de la barra lateral.

Tom Auger Tom Auger
24 abr 2012 21:01:24

Creo que numberposts es necesario cuando necesitas consultar todas las publicaciones pasando -1, lo que no puedes hacer con posts_per_page

iSaumya iSaumya
6 ago 2019 10:42:05

@iSaumya no es cierto - la documentación de los parámetros de paginación de WP_Query dice explícitamente que puedes pasar posts_per_page = -1

acobster acobster
22 ago 2020 02:55:13
0

La clase WP_Query tiene el parámetro posts_per_page, mientras que la función get_posts tiene el parámetro numberposts. En la página de documentación de la función get_posts se indica:

'numberposts' (int) Número total de posts a recuperar. Es un alias de $posts_per_page en WP_Query. Acepta -1 para todos. Por defecto 5.

En la página de referencia del código de get_posts() en el código fuente se puede ver que utiliza el valor de numberposts cuando posts_per_page está vacío, así es como funciona como 'alias' (o respaldo) para este.

if ( ! empty( $parsed_args['numberposts'] ) && empty( $parsed_args['posts_per_page'] ) ) { $parsed_args['posts_per_page'] = $parsed_args['numberposts']; ...

Al menos, así es como lo entiendo.

18 dic 2021 20:46:49