Всем привет!
Делаю фильтр на
wordpress. Хочу сделать так, чтобы при передаче параметра в
input выполнялось условие проверки на отправленных данных возраста (причем, значение 0 - это тоже возраст), а при загрузке загружались все данные без фильтра.
Пробую проверить на установку значения поля
if(isset($_POST['age'])){}
, но условие выполняется (фильтруется) каждый раз, даже при изначальной загрузке не передавая данные из формы.
Как определить отправлены были данные или нет так, чтобы соблюдалось 2 условия:
1) проверить были ли отправлены данные формы, НО, чтобы можно было вводить значение "0"!
2) фильтр отрабатывал на той же странице, как сейчас.
<form action="" method="post">
<label class="ages-title-method">Введите возраст:
<input type="number" name="age"/>
</label>
<button type="submit">Найти</button>
</form>
<div>
<?php
if(isset($_POST['age'])){
$args = array (
'post_type' => 'method',
'posts_per_page' => '-1',
'relation' => 'AND',
'meta_query' => array(
'key' => 'age_min',
'value' => (int) $_POST["age"],
'type' => 'numeric',
'compare' => '<='
),
);
}
else {
$args = array (
'post_type' => 'method',
'posts_per_page' => '-1',
);
}
$the_query = new WP_Query( $args );
while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<div class="name"><?php the_title(); ?></div>
<?php endwhile; wp_reset_postdata(); ?>
</div>