Получение всех записей независимо от их статуса
Я использую плагин Sola Testimonial, и в нем есть функция, которая получает количество всех опубликованных записей.
$my_query = new WP_Query('post_type=testimonials&posts_per_page=-1&status=publish');
$count = $my_query->post_count;
return intval( $count );
Эта функция возвращает только записи, у которых второй параметр установлен в "Approved" ("Pending Approval" - другой вариант). Мне нужно получить количество всех записей типа "testimonial", независимо от этого параметра.
Я пробовал:
$count = $my_query->found_posts;
и
status=any
и
$my_query = new WP_Query('post_type=testimonials&posts_per_page=-1&post_status=any');
но подсчитываются только записи с параметром "Approved".
Есть идеи, как получить количество всех записей "testimonial", независимо от статуса?
Спасибо!
Вот как выглядит статус одобрения в панели редактирования (он отделен от статуса публикации):

Вы должны написать свой запрос следующим образом (используйте "post_status" вместо "status"):
$my_query = new WP_Query('post_type=testimonials&posts_per_page=-1&post_status=any');
Все доступные статусы записей:
Значение по умолчанию - 'publish', но если пользователь авторизован, добавляется 'private'.
Публичные пользовательские статусы также включены по умолчанию. И если запрос выполняется в контексте админки (административная область или AJAX-запрос), добавляются защищенные статусы. По умолчанию защищенные статусы - 'future', 'draft' и 'pending'.
- 'publish' - опубликованная запись или страница. 'pending' - запись ожидает проверки.
- 'draft' - запись в статусе черновика.
- 'auto-draft' - новая созданная запись без содержимого.
- 'future' - запись, которая будет опубликована в будущем.
- 'private' - не видна пользователям, которые не авторизованы.
- 'inherit' - ревизия.
- 'trash' - запись в корзине (доступно с версии 2.9).
- 'any' - извлекает записи с любым статусом, кроме тех, у которых 'exclude_from_search' установлен в true (т.е. trash и auto-draft).
Вы можете указать несколько статусов в одном запросе:
$query = new WP_Query( array(
array( 'post_status' => array( 'pending', 'draft', 'future' ) )
) );

Большое спасибо @KAGG. Я попробовал это, но все равно возвращается количество только для подмножества постов 'testimonial', а не для всех. Огромное спасибо!

Это выглядит странно. Я добавил в ответ все доступные типы записей.

Спасибо, KAGG. Происходит что-то странное, что мы никак не можем понять. Это должно работать, но по какой-то причине не работает. Благодарю за помощь!
