Как объединить два WP_Query запроса в один?
Решено
Мне нужно объединить результаты 2 выборок WP_Query в один и вывести с помошью стандартного цикла вордпресс. У меня не получилось выбрать нужные записи с помошью одного запроса, поэтому мне нужно объединить результаты первого со вторым. Скажите возможно ли это сделать?
1 Ответ(ы)
Ответ
На пой взгляд правильнее было бы написать 1 запрос, так код будет правильнее и работать все будет быстрее. Но если нет возможности то приведу пример объединения 2х запросов в один.
Пример:
// Параметры первого запроса $my_groups_one = array( 'post_type' => 'group', 'author' => bp_displayed_user_id(), 'posts_per_page' => 999999 ); // Параметры второго запроса $my_groups_two = array( 'post_type' => 'group', 'post__in' => $user_groups, 'posts_per_page' => 999999 ); // Получим результат с первыми параметрами $my_groups_first = new WP_Query($my_groups_one); // Получим результат с вторыми параметрами $my_groups_last = new WP_Query($my_groups_two); // создадим 3й запрос, в котором и будем объединять 2 предыдущих $result = new WP_Query(); // Объединяем $result->posts = array_merge($my_groups_first->posts, $my_groups_last->posts); $result->post_count = count($result->posts); // Выводим if ($result->have_posts()) { while ($result->have_posts()) { $result->the_post(); the_title(); } }