@arkanzas75

Как исключить некоторые посты из выборки WP_Query?

Здравствуйте! Делаю сложную выборку недвижимости на wordpress.

$flat = $_POST['s'];
$district = $_POST['e'];

// args
$args = array(
	'numberposts'   => -1,
	'post_type'     => 'apartment',
	'meta_query' => [
		'relation' => 'OR',
		[
			'relation' => 'AND',
			['key'      => 'apartment-form-type',
			'value'     => $flat,
			'compare'   => '='
			],
		],
		[
			'relation' => 'AND',
			['key'      => 'apartment-form-district',
			'value'     => $district,
			'compare'   => '='
			]
		]
	]
);


<form action='search.php' method='post'>

				<div class="select-flat"><select class="selector-big-field" name='s'>
						<option value="Квартира">Квартира</option>
						<option value="Дом">Дом</option>
						<option value="Участок">Участок</option>
						<option value="Коммерческая недвижимость">Коммерческая недвижимость</option>
					</select></div>

<div class="select-district"><select class="selector-big-field" name='e'>
				<option selected disabled>Район</option>
						<option value="Приморский">Приморский</option>
						<option value="Малиновский">Малиновский</option>
						<option value="Суворовский">Суворовский</option>
						<option value="Киевский">Киевский</option>
					</select></div>

				<input class="select-search-btn" type='submit' name='send' value='Поиск' />
			</form>


Выборка происходит, но в нее попадают лишние посты. Например при выборе Дом + Приморский в результат попадают посты, которые относятся к Приморскому району, но имеют другой тип недвижимости (не Дом). Подскажите, как исключить лишнее?
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
Вместо 'relation' => 'OR' укажите 'relation' => 'AND'
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы