Intereting Posts
Скрыть пользовательские поля на основе возможностей Получить роль пользователя по ID не работает Как перечислить все имена и описания пользовательской таксономии Как использовать переходные процессы и переменные Шаблон переопределения таксономии Представить галерею Gallery NextGen через ссылку Плагин для редактирования файла htaccess Выделите ссылки без использования выпадающего меню Ошибка пользовательского почтового запроса image_resize в wp3.5 изменить на wp_get_image_editor и не будет работать Загрузка загружаемой папки, структура библиотеки db-библиотеки Пагинация не работает с пользовательским типом сообщения WordPress JSON api выборку выбранных элементов Отображение значений из связанного поля – если пустым отображается ссылка и заголовок текущего типа сообщения Создание пользовательских сообщений типа post и привязка их к сообщению из другого настраиваемого типа сообщения

Изменение порядка сообщений после выполнения запроса

Я показываю последние 5 сообщений пользовательского типа «show».

Это дает мне последнее сообщение в первую очередь.

<?php $args = array( 'post_type' => 'show', 'posts_per_page' => 5, 'order' => 'DESC' ); $home_shows = new WP_Query($args); var_dump($home_shows); ?> 

Мне нужно, чтобы на самом деле было самое раннее (из массива последних шоу), и последнее шоу (в этом массиве последних шоу).

В настоящее время я получаю (дату показа через настраиваемое поле мета значение):

3/11/12, 3/7/12, 3/4/12, 3/2/12, 2/30/12 и т. Д.

Мне нужно: 2/30/12, 3/1/12, 3/4/12, 3/7/12, 3/11/12,

Я попытался использовать php's array_reverse, как это (добавлено к вышеуказанному коду):

 $reversed_shows = array_reverse( $home_shows->posts ); 

Это дало мне очень странные результаты (отображались совершенно разные части сообщения, порядок массива отключен).

Есть идеи?

Solutions Collecting From Web of "Изменение порядка сообщений после выполнения запроса"

Я понял, что я делаю неправильно. Простая ошибка начинающих.

Array_reverse работал правильно, но я не переставлял обратный массив обратно в $ home_shows WP_Query, поэтому не видел никаких изменений.

Вот ответ и мой пересмотренный код.

 <?php $args = array( 'post_type' => 'show', 'posts_per_page' => 5, 'order' => 'DESC', ); $home_shows = new WP_Query($args); //reverse the order of the posts, latest last $array_rev = array_reverse($home_shows->posts); //reassign the reversed posts array to the $home_shows object $home_shows->posts = $array_rev; ?> <?php $captions = array(); ?> <?php if ( $home_shows->have_posts() ) : ?> <?php while ( $home_shows->have_posts() ) : $home_shows->the_post(); ?> 

Спасибо за ответы, рад, что я понял это.

Удалите все пользовательские беспорядок поля и добавьте 'order' => 'ASC' в массив args! И вы сделали!

  <?php $args = array( 'post_type' => 'show', 'posts_per_page' => 5, 'order' => 'desc' ); $home_shows = new WP_Query($args); // var_dump($home_shows); echo "<pre>"; print_r($home_shows->posts); echo "</pre>"; $array_rev = array_reverse($home_shows->posts); echo "<pre>"; print_r($array_rev); echo "</pre>"; ?> 

Я пробовал выше для моего настраиваемого типа сообщений …

результаты иды: 240 239 238 237 для оборота: 237 238 239 240

В конце концов должно быть что-то еще …