Как сделать проверку цены от и до в произвольном поле?

Решено

Здравствуйте, скажите как написать в WP_Query что бы вывести посты у которых есть произвольное поле и его значение входит в определенный диапазон. У меня есть 2 поля цены, которые вводит пользователь и мне нужно вывести все посты которые входят по произвольному полю в этот ценовой диапазон.

Добавить Комментарий
    Ответ

    Для выборки постов в определенном диапазоне по произвольному полю воспользуйтесь следующим кодом:

     if ($_GET['price_ot'] != '' || $_GET['price_do'] != '') { // если передано поле "Цена от" или "Цена до"
     if ($_GET['price_ot'] == '') $_GET['price_ot'] = 0; // если "Цена от" пустое, то значит от 0 и выше
     if ($_GET['price_do'] == '') $_GET['price_do'] = 9999999; // если "Цена до" пустое, то будет до 9999999
     $args['meta_query'][] = array( // пешем условия в meta_query
     'key' => 'price', // название произвольного поля
     'value' => array( (int)$_GET['price_ot'], (int)$_GET['price_do'] ), // переданные значения ОТ и ДО для интервала передаются в массиве
     'type' => 'numeric', // тип поля - число
     'compare' => 'BETWEEN' // тип сравнения, здесь это BETWEEN - т.е. между "Цены от" и до "Цены до"
     );
     }
     

    Далее массив передаем в wp_query

    $query = new WP_Query($args);
    

    Добавить Комментарий

    Ваш ответ

    Размещая свой ответ, вы соглашаетесь с правилами сайта.