Всем привет! Есть сайт на
wordpress с произвольным типом записи методика (method) у которого есть 2 параметра
минимальный (methodic_age_min) и
максимальный (methodic_age_max) возраст добавляемые с помощью произвольных полей
advanced custom fields
Я хочу сделать фильтрацию методик с помощью ползунка диапазона -
ссылка на фидл: те методики, у которых значение ползунка укладывается в промежуток между минимальным и максимальным значением - их и выводить.
Пытаюсь сделать вот так, но не понимаю как повлиять на фильтрацию результата. Что делаю не правильно?
Страница шаблона<div class="container">
<form class="filter" action="" method="get">
<input type="range" name="method_age" min="0" max="100" step="1" oninput="go_filter()" id="r1">
<p id="one">50</p>
<button type="submit">Отфильтровать</button>
</form>
<?php
if ($_GET && !empty($_GET)) {
methodic_filter();
if (have_posts()) : while (have_posts()) : the_post(); ?>
<h1><?php the_title(); ?></h1>
<?php the_content(); ?>
<div class="ped_holder">
<?php
$the_query = new WP_Query( array (
'post_type' => 'method',
'posts_per_page' => '-1',
) );
while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
...
<?php endwhile; wp_reset_postdata(); ?>
<?php endwhile; endif; } ?>
</div>
functions.phpfunction methodic_filter() {
$args = array();
$args['meta_query'] = array('relation' => 'AND');
global $wp_query;
if ($_GET['method_age'] != '') {
if ($_GET['method_age'] == '') $_GET['method_age'] = 0;
$args['meta_query'][] = array(
'key' => 'methodic_age_min',
'value' => (int)$_GET['method_age'],
'type' => 'numeric',
'compare' => '>='
);
$args['meta_query'][] = array(
'key' => 'methodic_age_max',
'value' => (int)$_GET['method_age'],
'type' => 'numeric',
'compare' => '>='
);
}
query_posts(array_merge($args,$wp_query->query));
}