Intereting Posts
Добавьте предопределенные / значения по умолчанию в настраиваемый плагин post Установите стандартный тип почтового по умолчанию для XML-RPC В woocommerce некоторые продукты имеют пустые опции, но как проверить это Необходимо превратить этот php в короткий код WP Захват Woocommerce при изменении поля адреса Как удалить фид комментариев из WP 3.1.1? Получить список условий для определенной категории Что генерирует мое мета-описание: description? Модификации с разбивкой по страницам (wp_link_pages) Запросить последние обновленные сообщения (сообщения обновлены за последние 24 часа) Как запустить код до создания нового сайта на MultiSite для проверки Пользовательский эскиз из URL через плагин Нужно добавить класс к первому элементу в цикле foreach Совместное использование сообщений и пользовательских типов сообщений на двух установках WordPress Программно изменить автора сообщения

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

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

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