Come ottenere tutti i post indipendentemente dallo stato

18 gen 2017, 20:13:13
Visualizzazioni: 675
Voti: 2

Sto utilizzando il plugin Sola Testimonial e c'è una funzione che ottiene il conteggio di tutti i post pubblicati.

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

$count = $my_query->post_count;

return intval( $count );

Questa funzione restituisce solo i post che hanno un secondo parametro impostato su "Approvato" ("In attesa di approvazione" è l'altra opzione). Voglio ottenere il conteggio di tutti i post "testimonial", indipendentemente da questo parametro.

Ho provato

$count = $my_query->found_posts;

e

status=any

e

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

ma conterà solo i post che hanno il parametro impostato su Approvato.

Qualche idea su come ottenere il conteggio di tutti i post "testimonial", indipendentemente dallo stato?

Grazie!

Ecco come appare lo Stato di Approvazione nella barra di modifica (è separato da Pubblica):

Stato di approvazione testimonial in WordPress

0
Tutte le risposte alla domanda 1
4

Dovresti scrivere la tua richiesta in questo modo ("post_status" invece di "status"):

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

Tutti gli stati dei post disponibili sono:

Il valore predefinito è 'publish', ma se l'utente è loggato, viene aggiunto 'private'.

Gli stati personalizzati pubblici sono inclusi di default. E se la query viene eseguita in un contesto amministrativo (area di amministrazione o chiamata AJAX), vengono aggiunti anche gli stati protetti. Per default gli stati protetti sono 'future', 'draft' e 'pending'.

  • 'publish' - un post o una pagina pubblicati. 'pending' - post in attesa di revisione.
  • 'draft' - un post in stato di bozza.
  • 'auto-draft' - un post appena creato, senza contenuto.
  • 'future' - un post programmato per la pubblicazione futura.
  • 'private' - non visibile agli utenti non loggati.
  • 'inherit' - una revisione.
  • 'trash' - post nel cestino (disponibile dalla Versione 2.9).
  • 'any' - recupera qualsiasi stato eccetto quelli dagli stati dei post con 'exclude_from_search' impostato a true (es. trash e auto-draft).

Puoi specificare più stati in una singola richiesta:

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

Grazie mille @KAGG. Ho provato così ma continua a restituire il conteggio solo per il sottoinsieme dei post 'testimonial', non per tutti. Mille grazie!

Hairgami_Master Hairgami_Master
18 gen 2017 20:24:50

Sembra strano. Ho aggiunto alla risposta tutti i tipi di post disponibili.

KAGG Design KAGG Design
18 gen 2017 20:35:51

Grazie KAGG. Sta succedendo qualcosa di strano che non riusciamo proprio a capire. Questo dovrebbe funzionare ma per qualche motivo non lo fa. Apprezzo il tuo aiuto!

Hairgami_Master Hairgami_Master
27 gen 2017 16:31:21

Sfortunatamente, questo non funziona per lo stato "pending" nella versione più recente di WordPress 6.4.3

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