Пытаюсь реализовать поиск с учетом произвольных полей и таксономий.
Цикл работает, только когда фильтр идет только по одному из критериев (таксономия/мета-поле).
Если запустить весь, то выводит только в результатах лишь один термин таксономии property-type, независимо от условий.
<?php
$property_city = $_GET['property-city'];
$property_type = $_GET['property-type'];
}
$min_price = $_GET['min-price'];
if($min_price == ''){
$min_price = '0';
}
$max_price = $_GET['max-price'];
if($max_price == ''){
$max_price = '99999999';
}
$min_size = $_GET['min-size'];
if($min_size == ''){
$min_size = '0';
}
$max_size = $_GET['max-size'];
if($max_size == ''){
$max_size = '999999';
}
$args = array(
'post_type' => 'property',
'paged' => get_query_var( 'paged' ),
'tax_query' => array(
// 'relation' => 'AND',
array(
'taxonomy' => 'property-type',
'field' => 'id',
'terms' => $property_type,
),
array(
'taxonomy' => 'property-city',
'field' => 'id',
'terms' => $property_city,
),
),
'meta_query' => array(
// 'relation' => 'AND',
array(
'key' => 'REAL_HOMES_property_price',
'value' => array( $min_price, $max_price ),
'type' => 'numeric',
'compare' => 'BETWEEN'
),
array(
'key' => 'REAL_HOMES_property_size',
'value' => array( $min_size, $max_size ),
'type' => 'numeric',
'compare' => 'BETWEEN'
)
)
);
query_posts( $args ); ?>