Intereting Posts
Не удается обновить общие настройки сайта и талисмана WordPress Серые кнопки навигации, если is_user_logged_in () Есть ли способ разместить мои шаблоны сообщений в отдельной папке? Тип персонализированного сообщения – как сделать динамическую перезапись slug? Список записей в алфавитном порядке по адресу archive.php Внезапно новые сообщения имеют постоянную ссылку по умолчанию вместо имени сообщения Как добавить ссылку на сообщения Admin Опубликовано | Запланировано | Меню корзины Как преобразовать базу данных MySQL из utf8mb4 в кодировку utf8? Неустранимая ошибка: вызов неопределенной функции is_even () Изменить постоянные ссылки типа post (add_rewrite_rule или ?????) Запрос WordPress Mysql и дубликат Устранение утечек памяти в WordPress (HHVM) Как использовать существующий крючок в двадцать четвертом для всей темы wordpress? Пользовательские ссылки привязки меню не работают Стрить несколько транзакций

Объедините результаты двух циклов

В настоящее время у меня эти две петли работают на одной странице

$related = p2p_type( 'artist_to_song' )->my_get_related( get_queried_object() ); $features = p2p_type( 'song_to_feature' )->my_get_related( get_queried_object() ); if ( $related->have_posts() ) : while ( $related->have_posts() ) : $related->the_post(); //content endwhile; wp_reset_postdata(); endif; if ( $features->have_posts() ) : while ( $features->have_posts() ) : $features->the_post(); //content endwhile; wp_reset_postdata(); endif; 

Можно ли объединить результаты этих циклов в одну так, чтобы все должности были перечислены в хронологическом порядке, а не в результате $related за ними $features .

Да. Сначала вы должны объединить результаты в один массив:

 $all_posts = array_merge( $related->posts, $features->posts ); 

Теперь давайте отсортировать элементы массива по дате:

 usort( $all_posts, function( $a, $b ) { return strcmp( $b->post_date, $a->post_date ); } ); 

Наконец, выполните цикл:

 global $post; foreach ( $all_posts as $post ) { setup_postdata( $post ); // use the template tags here: the_title(), the_content(),… } wp_reset_postdata();