Cum să obții toate postările, indiferent de statusul lor în WordPress

18 ian. 2017, 20:13:13
Vizualizări: 675
Voturi: 2

Folosesc plugin-ul Sola Testimonial și există o funcție care obține numărul de postări publicate.

$my_query = new WP_Query('post_type=testimonials&posts_per_page=-1&status=publish');

$count = $my_query->post_count;

return intval( $count );

Această funcție returnează doar postările care au al doilea parametru setat la "Aprobat" ("În așteptare" este cealaltă opțiune). Vreau să obțin numărul tuturor postărilor de tip "testimonial", indiferent de acest parametru.

Am încercat

$count = $my_query->found_posts;

și

status=any

și

$my_query = new WP_Query('post_type=testimonials&posts_per_page=-1&post_status=any');

dar va număra doar postările care au parametrul setat la Aprobat.

Ai vreo idee cum să obțin numărul tuturor postărilor "testimonial", indiferent de status?

Mulțumesc!

Iată cum apare Statusul de Aprobare în bara de editare (este separat de Publicare):

Statusul de aprobare al testimonialelor în WordPress

0
Toate răspunsurile la întrebare 1
4

Ar trebui să scrieți cererea dvs. astfel ("post_status" în loc de "status"):

$my_query = new WP_Query('post_type=testimonials&posts_per_page=-1&post_status=any');

Toate post_statuses disponibile sunt:

Valoarea implicită este 'publish', dar dacă utilizatorul este autentificat, se adaugă 'private'.

Statusurile personalizate publice sunt de asemenea incluse implicit. Și dacă interogarea este rulată într-un context de administrare (zona de administrare sau apel AJAX), se adaugă și statusurile protejate. Implicit, statusurile protejate sunt 'future', 'draft' și 'pending'.

  • 'publish' - un articol sau pagină publicată. 'pending' - articolul așteaptă moderare.
  • 'draft' - un articol în stadiu de ciornă.
  • 'auto-draft' - un articol nou creat, fără conținut.
  • 'future' - un articol programat pentru publicare în viitor.
  • 'private' - nu este vizibil pentru utilizatorii neautentificați.
  • 'inherit' - o revizie.
  • 'trash' - articolul se află în coșul de gunoi (disponibil începând cu Versiunea 2.9).
  • 'any' - preia orice status cu excepția celor din statusurile de articole cu 'exclude_from_search' setat la true (adică trash și auto-draft).

Puteți specifica mai multe statusuri într-o singură cerere:

$query = new WP_Query( array(
    array( 'post_status' => array( 'pending', 'draft', 'future' ) )
) );
18 ian. 2017 20:19:26
Comentarii

Mulțumesc mult @KAGG. Am încercat asta și încă returnează numărul doar pentru subsetul de postări 'testimonial', nu pentru toate. Mulțumesc mult!

Hairgami_Master Hairgami_Master
18 ian. 2017 20:24:50

Pare ciudat. Am adăugat în răspuns toate tipurile de postări disponibile.

KAGG Design KAGG Design
18 ian. 2017 20:35:51

Mulțumesc KAGG. Se întâmplă ceva ciudat pe care nu reușim să-l înțelegem. Ar trebui să funcționeze, dar din nu știu ce motiv nu merge. Apreciez ajutorul tău!

Hairgami_Master Hairgami_Master
27 ian. 2017 16:31:21

Din păcate, acest lucru nu funcționează pentru starea „în așteptare” în cea mai recentă versiune WordPress 6.4.3

Eric Hepperle - CodeSlayer2010 Eric Hepperle - CodeSlayer2010
12 apr. 2024 15:12:01