numberposts? showposts? posts_per_page?
Quindi la documentazione nel Codex è abbastanza chiara sul fatto che showposts è deprecato. Ma la stessa documentazione non menziona nulla riguardo numberposts. Invece, viene elencato posts_per_page.
Ma se guardiamo la documentazione del Codex per get_posts non vediamo alcuna menzione di posts_per_page, invece viene citato numberposts.
In post.php vediamo cosa sta succedendo: numberposts è impostato come valore predefinito (5), ma poi viene copiato in posts_per_page (a meno che posts_per_page non sia già impostato negli argomenti).
La mia domanda è davvero pedante, ma vorrei aggiornare il Codex quindi volevo chiedere a voi - c'è un motivo per cui non dovremmo semplicemente incoraggiare l'uso di posts_per_page ovunque, deprecando eventualmente numberposts? O mi sta sfuggendo qualche aspetto critico?

A mio avviso, deprecare numberposts
non avrebbe senso, poiché numberposts
viene utilizzato per interrogare x numero di post, mentre posts_per_page
viene utilizzato per indicare quanti post per pagina vengono mostrati durante l'impaginazione. Se si decidesse di deprecare numberposts
a favore del semplice posts_per_page
, allora l'impaginazione non esisterebbe più.
Ad esempio:
"numberposts" => 50, "posts_per_page" => 10
un totale di 50 post da interrogare, 10 post per pagina, ottenendo così 5 pagine da 10 post ciascuna.
Rimozione di numberposts
:
"posts_per_page" => 50
un totale di 50 post da interrogare, 50 post per pagina (poiché copia il valore di numberposts
in posts_per_page
), ottenendo 1 pagina da 50 post e nessuna impaginazione.
Fammi sapere se sto solo ripetendo ciò che già sai e sono solo leggermente confuso dalla domanda.

Sono d'accordo che sembrino fare cose diverse, ma se studi il codice, in realtà non è così! Personalmente preferisco "numberposts" in alcuni casi, come quando il concetto di "pagine" non entra in gioco - ad esempio in alcuni output in un widget della sidebar.

Penso che numberposts
sia necessario quando devi interrogare tutti i post passando -1
, cosa che non puoi fare con posts_per_page

@iSaumya non è vero - la documentazione per i parametri di paginazione di WP_Query dice esplicitamente che puoi passare posts_per_page = -1

La classe WP_Query
ha il parametro posts_per_page
, mentre la funzione get_posts
ha il parametro numberposts
. Nella pagina della documentazione della funzione get_posts
è indicato:
'numberposts'(int) Numero totale di post da recuperare. È un alias di $posts_per_page in WP_Query. Accetta -1 per tutti. Predefinito 5.
Nella pagina di riferimento del codice get_posts() nel codice sorgente puoi vedere che utilizza il valore numberposts
quando posts_per_page
è vuoto, ecco come funziona l'alias (o fallback).
if ( ! empty( $parsed_args['numberposts'] ) && empty( $parsed_args['posts_per_page'] ) ) { $parsed_args['posts_per_page'] = $parsed_args['numberposts']; ...
Almeno, questa è la mia interpretazione.
