Intereting Posts
Перезаписываются ли добавленные add_rewrite_rule () после удаления плагина? Возможность установки почты для обращения к контактной форме 7 через дополнительные пользовательские поля добавление goole карты на сайт с импортом данных из базы данных mysql Какое действие / крючок нужно мне зарегистрировать, чтобы иметь доступ к редактированию интерфейса плагина? Выпадающие шрифты Google в разделе «Параметры» Некоторые сомнения в том, как работает цикл (пытается отладить его) Как отобразить список, показывающий пользовательские типы сообщений, вложенные в таксономию? конкретный пост не исключается из цикла Получение идентификатора из ajax-ответа async-upload.php get_pages Выпадающий список для выбора страницы Будет ли post_name post post всегда равняться «пути» на неиерархических пользовательских типах сообщений? (используя функцию get_page_by_path ()) Первый идентификатор не будет исключен из wp_dropdown_pages с помощью $ arg из tax_query Страница архивирования, показывающая неправильный месяц API переходных процессов Как заставить SSL не только на одной странице?

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

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

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

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

Вы можете использовать параметр 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; //... }