Получаю результаты в виде постов в 2 прохода следующим образом
<?php
global $wp_query, $paged;
if ( is_front_page() ) {
$paged = (get_query_var('page')) ? get_query_var('page') : 1;
}
$sort_args1 = array(
'posts_per_page' => $number_of_prop,
'paged' => $paged,
'tax_query' => array(
array(
'taxonomy' => 'property_status',
'field' => 'id',
'terms' => '228',
'operator' => 'NOT IN'
),
),
'order' => 'DESC',
'post_status' => 'publish'
);
$sort_args2 = array(
'posts_per_page' => $number_of_prop,
'paged' => $paged,
'tax_query' => array(
array(
'taxonomy' => 'property_status',
'field' => 'id',
'terms' => '228'
),
),
'order' => 'DESC',
'post_status' => 'publish'
);
$sort_args1 = apply_filters( 'houzez_property_filter', $sort_args1 );
$sort_args2 = apply_filters( 'houzez_property_filter', $sort_args2 );
$sort_args1 = houzez_prop_sort($sort_args1);
$sort_args2 = houzez_prop_sort($sort_args2);
$args1 = array_merge( $wp_query->query_vars, $sort_args1 );
$args2 = array_merge( $wp_query->query_vars, $sort_args2 );
//setup your queries as you already do
$query1 = new WP_Query($args1);
$query2 = new WP_Query($args2);
/*echo "<pre>";
print_r($args);
echo "</pre>";
die();*/
$wp_query = new WP_Query($wp_query->query_vars);
$wp_query->posts = array_merge( $query1->posts, $query2->posts );
$wp_query->post_count = $query1->post_count + $query2->post_count;
//$wp_query = apply_filters( 'houzez_property_filter', $wp_query->posts );
//$wp_query = houzez_prop_sort($wp_query);
if ( $wp_query->have_posts() ) :
while ( $wp_query->have_posts() ) : $wp_query->the_post();
if($listing_view == 'listing-style-3') {
get_template_part('template-parts/property-for-listing-v3');
} else if($listing_view == 'listing-style-2' || $listing_view == 'listing-style-2-grid-view' || $listing_view == 'listing-style-2-grid-view-3-col') {
get_template_part('template-parts/property-for-listing', 'v2');
} else {
get_template_part('template-parts/property-for-listing');
}
endwhile;
wp_reset_query();
else:
?>
<h4><?php esc_html_e('Sorry No Result Found', 'houzez') ?></h4>
<?php
endif;
?>
</div>
</div>
<!--end property items-->
<hr>
<!--start Pagination-->
<?php houzez_pagination( $wp_query->max_num_pages, $range = 2 ); ?>
Но проблема в том, что при выводе у меня отображаются результаты с обоих проходов - 30 результатов (15 с первого прохода + 15 со второго прохода). Я же хочу пытаюсь получить все результаты с первого прохода, а в конец добавить результаты со второго прохода. Таким образом, получить, например, 150 результатов с первого прохода и вывести на первых 10 страниц пейджингов, а затем (начиная с 11 страницы пейджинга и т.д.) вывести результаты второго прохода.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок