numberposts? showposts? posts_per_page?

20 sept. 2011, 00:42:20
Vizualizări: 49.4K
Voturi: 28

Deci documentația din Codex este destul de clară că showposts este depreciat. Dar aceeași documentație nu menționează nimic despre numberposts. În schimb, este listat posts_per_page.

Dar dacă ne uităm la documentația Codex pentru get_posts nu vedem nicio mențiune despre posts_per_page, în schimb citează numberposts.

În post.php putem vedea ce se întâmplă: numberposts este setat ca valoare implicită (5), dar apoi este copiat în posts_per_page (cu excepția cazului în care posts_per_page este setat în argumentele funcției).

Deci întrebarea mea este destul de pedantă, dar vreau să actualizez Codex așa că am vrut să vă întreb - există vreun motiv pentru care nu am dori să încurajăm utilizarea posts_per_page în toate situațiile, deprecind eventual numberposts? Sau îmi scapă mie ceva important aici?

3
Comentarii

Deoarece numberposts este învechit, cea mai bună practică este să folosești posts_per_page de acum înainte.

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

@Brian, poți să-mi arăți unde ai văzut că numberposts este oficial învechit? Nu am reușit să găsesc asta în surse.

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

Scuze, mă refeream la showposts. http://codex.wordpress.org/Class_Reference/WP_Query#Pagination_Parameters Îmi cer scuze.

Brian Fegter Brian Fegter
20 sept. 2011 17:11:55
Toate răspunsurile la întrebare 2
3
12

În opinia mea, deprecierea parametrului numberposts nu ar avea sens, deoarece numberposts este utilizat pentru a interoga un număr x de articole, în timp ce posts_per_page este folosit pentru a indica câte articole pe pagină sunt afișate în timpul paginării. Dacă ai deprecia numberposts în favoarea utilizării doar a posts_per_page, atunci paginarea nu ar mai exista.

Exemplu:

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

un total de 50 de articole de interogat, 10 articole pe pagină, rezultând 5 pagini cu câte 10 articole fiecare.

Eliminarea lui numberposts:

"posts_per_page" => 50

un total de 50 de articole de interogat, 50 de articole pe pagină (deoarece copiază valoarea lui numberposts în posts_per_page), rezultând 1 pagină cu 50 de articole și nicio paginare.

Spune-mi dacă repet ceea ce știi deja și sunt doar puțin confuz de întrebare.

20 dec. 2011 18:58:14
Comentarii

Sunt de acord că par că ar trebui să facă lucruri diferite, dar dacă studiezi codul, de fapt nu o fac! De fapt, prefer "numberposts" în unele cazuri, cum ar fi acolo unde noțiunea de "pagini" nu intră în discuție - de exemplu, pentru unele afișări într-un widget din bara laterală.

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

Cred că numberposts este necesar atunci când trebuie să interoghezi toate articolele trecând -1, lucru pe care nu-l poți face cu posts_per_page

iSaumya iSaumya
6 aug. 2019 10:42:05

@iSaumya nu este adevărat - documentația pentru parametrii de paginare WP_Query spune explicit că poți trece posts_per_page = -1

acobster acobster
22 aug. 2020 02:55:13
0

Clasa WP_Query are parametrul posts_per_page, în timp ce funcția get_posts are parametrul numberposts. În pagina de documentație a funcției get_posts se menționează:

'numberposts'(int) Numărul total de articole de preluat. Este un alias pentru $posts_per_page din WP_Query. Acceptă -1 pentru toate. Implicit 5.

În pagina de referință a codului get_posts() în codul sursă se poate observa că utilizează valoarea numberposts când posts_per_page este gol, deci în felul acesta funcționează ca 'alias' (sau fallback) pentru acesta.

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

Cel puțin, așa am înțeles eu.

18 dec. 2021 20:46:49