Intereting Posts
Есть ли параметр get_xxxx в файле general_template.php? Как получить значение в радиовходе в мета-окне сообщения? Отображение пользовательского содержимого в раскрывающемся списке Nav Условия поиска на другом языке оказываются на вопросительном знаке и символах Выдвижение избранных изображений в меню WordPress Как использовать сжатие без потерь с помощью WP_Image_Editor Удалить href из этого кода Функция для получения идентификаторов сообщений, результатов кеша и улучшения wp_query Файлы шаблонов wordpress 3.4 в подкаталогах Как настроить сайт WordPress с поддержкой нескольких стран и нескольких языков Добавление настраиваемых полей в собственные настройки галереи wp Восстановить эскизы после загрузки Получать сообщения в той же категории не работают Импорт CSV-данных в пользовательские поля ACF с помощью WP All Import for WordPress 4.8 Разделение содержимого HTTP и HTTPS на WordPress, Varnish и SSL-терминатор?

Расширенный поиск по минимальным / максимальным значениям

Я создаю расширенную форму поиска, которая позволяет мне искать по различным параметрам. В настоящее время поиск по таксономии работает нормально. Моя проблема возникает при попытке установить минимальную цену для поиска. Вот код в моем файле functions.php:

function advanced_search_query($query) { if ($query->is_search) { $query->set('post_type', array( 'properties' )); if (isset($_GET['propertyfor'])) { $query->set('taxonomy', 'propertyfor'); $query->set('terms', $_GET['propertyfor']); } if (isset($_GET['propertytype'])) { $query->set('taxonomy', 'propertytype'); $query->set('terms', $_GET['propertytype']); } if (isset($_GET['minPrice'])) { $query->set('meta_query', array( 'key' => 'shru_price', 'value' => $_GET['minPrice'], 'compare' => '>=', 'type' => 'NUMERIC' )); } }; return $query; }; add_filter('pre_get_posts', 'advanced_search_query', 1000); 

Как вы можете видеть, я пытаюсь использовать мета-запрос для его обработки, но ничего не происходит. Минимальная цена полностью игнорируется при отображении результатов.

Кто-нибудь знает, как исправить?

Изменить: FYI, числовые значения хранятся в базе данных без каких-либо специальных символов.

UPDATE: он работает для следующего, где я устанавливаю минимальное и максимальное значение и использую BETWEEN:

  if (isset($_GET['minPrice']) && isset($_GET['maxPrice'])) { $query->set('meta_query', array( array( 'key' => 'shru_price', 'value' => array($_GET['minPrice'], $_GET['maxPrice']), 'compare' => 'BETWEEN', 'type' => 'NUMERIC' ) )); } 

но не для того, что я изначально разместил, где установлен только один, и я использую >= или <= . Я использовал elseif заявления между каждым, но все еще никаких результатов не производилось.