Obtener todas las publicaciones, independientemente de su estado

18 ene 2017, 20:13:13
Vistas: 675
Votos: 2

Estoy usando el plugin Sola Testimonial y hay una función que obtiene un conteo de todas las publicaciones publicadas.

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

$count = $my_query->post_count;

return intval( $count );

Esta función solo devuelve publicaciones que tienen un segundo parámetro establecido como "Aprobado" ("Pendiente de Aprobación" es la otra opción). Quiero obtener un conteo de todas las publicaciones de "testimonios", sin importar cuál sea este parámetro.

He probado:

$count = $my_query->found_posts;

y

status=any

y

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

pero solo cuenta las publicaciones que tienen el parámetro establecido como Aprobado.

¿Alguna idea de cómo obtener un conteo de todas las publicaciones de "testimonios", independientemente de su estado?

¡Gracias!

Así es como aparece el Estado de Aprobación en la barra de edición (está separado de Publicar):

Estado de aprobación en el editor de testimonios

0
Todas las respuestas a la pregunta 1
4

Debes escribir tu solicitud así ("post_status" en lugar de "status"):

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

Todos los post_statuses disponibles son:

El valor predeterminado es 'publish', pero si el usuario está conectado, se agrega 'private'.

Los estados personalizados públicos también se incluyen por defecto. Y si la consulta se ejecuta en un contexto de administración (área de administración o llamada AJAX), también se agregan los estados protegidos. Por defecto, los estados protegidos son 'future', 'draft' y 'pending'.

  • 'publish' - una publicación o página publicada. 'pending' - publicación pendiente de revisión.
  • 'draft' - una publicación en estado de borrador.
  • 'auto-draft' - una publicación recién creada, sin contenido.
  • 'future' - una publicación para publicar en el futuro.
  • 'private' - no visible para usuarios que no hayan iniciado sesión.
  • 'inherit' - una revisión.
  • 'trash' - la publicación está en la papelera (disponible desde la versión 2.9).
  • 'any' - recupera cualquier estado excepto aquellos de los estados de publicación con 'exclude_from_search' establecido en true (es decir, trash y auto-draft).

Puedes especificar varios estados en una sola solicitud:

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

¡Muchas gracias @KAGG! Lo intenté y sigue devolviendo el recuento solo para el subconjunto de publicaciones 'testimonial', no para todas. ¡Muchas gracias!

Hairgami_Master Hairgami_Master
18 ene 2017 20:24:50

Parece extraño. He añadido a la respuesta todos los tipos de publicaciones disponibles.

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

Gracias KAGG. Algo extraño está pasando que no logramos entender completamente. Esto debería funcionar, pero por alguna razón no lo hace. ¡Aprecio tu ayuda!

Hairgami_Master Hairgami_Master
27 ene 2017 16:31:21

Desafortunadamente, esto no funciona para el estado "pendiente" en la versión más reciente de WordPress 6.4.3

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