@itmalex

Сортировка в Wordpress по кастомному полю в кастомной таблице?

Понадобилось добавить сортировку по полю price из кастомной таблицы services_price. Какие есть варианты? Переписывать весь запрос на сыром SQL, без использования WP_Query?

<?php

// Выше добавляются еще много параметров для фильтрации выборки, для наглядности оставил только 1
if (isset($_POST['data']) && !empty(array_filter($_POST['data']))) {
    $add_queries[] = array(
        'taxonomy' => 'some_tax',
        'field' => 'term_id',
        'terms' => $_POST['data'],
        'operator' => 'IN', // default IN
    );
}

if (!empty($add_queries)) {
    if (count($add_queries) > 1) {
        $add_queries['relation'] = "AND";
    }
    
    $base_args['tax_query'] = $add_queries;
}

$search_string = trim($_POST['search_term']);

$base_args['post_type'] = $post_type;
$base_args['post_status'] = 'publish';
$base_args['suppress_filters'] = false;
$base_args['cthqueryid'] = 'ajax-search';
$base_args['s'] = $search_string;
$base_args['posts_per_page'] = -1;

//И тут понадобилось еще добавить сортировку по полю price из кастомной таблицы services_price. Какие есть варианты?

$base_search_res = new WP_Query($base_args);
  • Вопрос задан
  • 26 просмотров
Решения вопроса 1
Kozack
@Kozack Куратор тега WordPress
Просмотрите список хук-фильтров у WP_Query::get_posts(). Там есть такие, что позволяют изменять запрос перед отправкой в БД.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы