Доброго времени суток.
Есть форма с select, например, возраст
Выпадают варианты: 18-25 , 26-30
Как передать в функцию или эти значения сразу, чтоб их сравнить? Или сделать так: если выбран определенный select делать сравнение исходя из того, какой был выбран.
И если делаю поиск по checkbox и выбираю несколько чекбоксов сразу, поиск идёт только по одному из них.
Также наблюдается проблема с пагинацией
function go_filter() { $args = array(); $args['meta_query'] = array('relation' => 'AND'); $query = new WP_Query( array( 'post_type' => 'people', ) ); if (@$_GET['new'] != '') { $args['meta_query'][] = array( 'key' => 'new_profile', 'value' => $_GET['new'] ); } if (!empty($_GET['m_age'])) { // вот в этой части нужно делать сравнение $args['meta_query'][] = array( 'key' => 'age', 'value' => '26' ); } if (!empty($_GET['body'])) { $args['meta_query'][] = array( 'key' => 'body', 'value' => array($_GET['body']) ); } query_posts(array_merge($args,$query->query)); }
n0wayback сказал(а)
Я же не могу в value написать 2 числа и сравнить их
конечно нет, надо получать два разных значения и сравнивать их, или вопрос задан некорректно, я не понял, что требуется.
Если надо из строки "16-25" получить два значения и произвести выборку по ним, то это другое дело. Уточните свой вопрос.
Андрей CS сказал(а)
n0wayback сказал(а)
Я же не могу в value написать 2 числа и сравнить ихконечно нет, надо получать два разных значения и сравнивать их, или вопрос задан некорректно, я не понял, что требуется.
Если надо из строки "16-25" получить два значения и произвести выборку по ним, то это другое дело. Уточните свой вопрос.
Да, именно так. Нужно получить два значения и произвести выборку по ним.
Otshelnik-Fm сказал(а)
Не вижу проблемы на пхп разделить приходящее значение
$in1 = '16-25'; $m1 = explode('-',$in1);
А с чекбоксами и пагинацией как решить проблему? С примененным фильтром пагинация вообще не работает, а в основном выводе постов работает только 2 страница, дальше 404.
<?php $paged = get_query_var('paged') ? get_query_var('paged') : 1; $args = array( 'post_type' => array( 'people' , 'men' ), 'publish' => true, 'paged' => $paged, ); query_posts($args); if ( have_posts() ) : ?> <?php if ( is_home() && ! is_front_page() ) : ?> <header> <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1> </header> <?php endif; ?> <?php if ($_GET && !empty($_GET)) { go_filter(); } ?> <?php // Start the loop. while ( have_posts() ) : the_post();
Вывод сделан таким образом.