Intereting Posts
WP E-Commerce Gold Cart с плагином, встроенным в тему Панель добавления AddThis не отображается на пользовательском шаблоне страницы – конфликт JS? Получить плагин на фоне страницы set_post_thumbnail_size не обрезает выделенные изображения, но уменьшает пропорционально Как установить ограничение на слайдер Как исправить тему с помощью page.php Шаблон по умолчанию, который случайно удалили? настраивая мой виджет категории в wordpress, чтобы разрешить соответствующую запись поиска. Презентация vs Содержание в WP DB-Tables Как добавить атрибут onclick в список флажков? Лучший способ исключить вывод категории для сообщений / страниц? как выполнить некоторый код после публикации публикации в WordPress Передача чисел и букв в строках запроса Предотвращение создания нескольких изображений в 20 шаблонах Восстановить эскизы после загрузки Перенаправление пользователей вдали от проломов администратора ajax

Как получить все сообщения с любым статусом сообщения?

Я создаю переднюю панель, где мне нужно показать все сообщения текущего пользователя. Поэтому мне нужно показывать сообщения во всех штатах, в основном published , trashed и pending . Теперь я использую простой запрос, но он возвращает только опубликованные сообщения.

 $query = array( 'post_type' => 'my-post-type', 'post_author' => $current_user->ID ); query_posts($query); 

Может ли кто-нибудь помочь? Что еще мне нужно сделать?

Solutions Collecting From Web of "Как получить все сообщения с любым статусом сообщения?"

Вы можете использовать параметр post_status:

 * 'publish' - a published post or page * 'pending' - post is pending review * 'draft' - a post in draft status * 'auto-draft' - a newly created post, with no content * 'future' - a post to publish in the future * 'private' - not visible to users who are not logged in * 'inherit' - a revision. see get_children. * 'trash' - post is in trashbin. added with Version 2.9. 

Я не уверен, что он принимает «any», поэтому используйте и массив со всеми типами, которые вы хотите:

 $query = array( 'post_type' => 'my-post-type', 'post_author' => $current_user->ID, 'post_status' => array('publish', 'pending', 'draft', 'auto-draft', 'future', 'private', 'inherit', 'trash') ); $loop = new WP_Query($query); while ( $loop->have_posts() ) : $loop->the_post(); 

WP_Query класса WP_Query ->query() принимает any аргумент для post_status . См. wp_get_associated_nav_menu_items() для доказательства.

То же самое касается get_posts() (который является только оболочкой для вызова выше).

Есть простой способ, как получить все сообщения с любым статусом:

 $articles = get_posts( array( 'numberposts' => -1, 'post_status' => 'any', 'post_type' => get_post_types('', 'names'), ) ); 

Теперь вы можете выполнять итерацию по всем сообщениям:

 foreach ($articles as $article) { echo $article->ID . PHP_EOL; //... }