Intereting Posts
Поиск авторских и пользовательских типов сообщений Динамическое изменение названия страницы из URL-адреса Как получить доступ к каждому пункту меню в WordPress? Переместите ссылку «Меню» из «Внешний вид»> «Меню» на свою вкладку в левой колонке «Панель управления» Как получить заголовок сообщения по языку с помощью Qtranslate-X Пользовательский запрос работает, но возвращает «Undefined Offset: 0» get_post_meta () пуст в предварительном просмотре WHEN опубликован пользовательский пост Как обновить термин таксономии для персонализированного типа сообщения с автоматически увеличивающимся номером Все запланированные должности WordPress публикуются немедленно jQuery стили пользовательского интерфейса, конфликтующие с диалогом TinyMCE Как я могу добавить валидацию к этой форме входа, не перенаправляя ее на страницу wp-login.php Использование промежуточных медиафайлов на сайте разработки в WordPress Как скопировать существующий (настраиваемый тематический) сайт в новый домен Производственная площадка: переход от версии WordPress к окончательной версии версии Как удалить 20 ГБ изображений с измененным размером?

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

Я показываю последние 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

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