numberposts? showposts? posts_per_page?

20 set 2011, 00:42:20
Visualizzazioni: 49.4K
Voti: 28

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?

3
Commenti

Poiché numberposts è deprecato, è una best practice utilizzare posts_per_page da ora in poi.

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

@Brian, puoi indicarmi dove hai visto che numberposts è ufficialmente deprecato? Non sono riuscito a trovarlo da nessuna parte nel codice sorgente.

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

Scusa, mi riferivo a showposts. http://codex.wordpress.org/Class_Reference/WP_Query#Pagination_Parameters Mi scuso.

Brian Fegter Brian Fegter
20 set 2011 17:11:55
Tutte le risposte alla domanda 2
3
12

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.

20 dic 2011 18:58:14
Commenti

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.

Tom Auger Tom Auger
24 apr 2012 21:01:24

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

iSaumya iSaumya
6 ago 2019 10:42:05

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

acobster acobster
22 ago 2020 02:55:13
0

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.

18 dic 2021 20:46:49