numberposts? showposts? posts_per_page?
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?

Î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.

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ă.

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 nu este adevărat - documentația pentru parametrii de paginare WP_Query spune explicit că poți trece posts_per_page = -1

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.
