Как сделать сложный orderby в WP_QUERY?

У меня есть 2 поля: min_variation_price, max_variation_price
В wp_query пишу такие параметры:
'orderby' => 'min_variation_price max_variation_price',
'order' => 'ASC'
Всё работает, но есть 1 проблема, одно из полей может быть пустым и они попадают в начало.
Мне нужно сделать, чтоб пустое поле уходило в конец.
Подскажите как это реализовать в wp_query

Когда я писал ручной запрос, я делал так:
CASE WHEN pmeta.meta_value = '' THEN '99999' END, pmeta.meta_value ASC

Но мне нужно сделать именно через wp_query
  • Вопрос задан
  • 384 просмотра
Решения вопроса 1
boomrap
@boomrap Автор вопроса
Проблему решил:
add_filter( 'posts_orderby', array( $this, 'query_orderby' ) );
$gmw_query = new WP_Query( $this->form['query_args'] );
remove_filter( 'posts_orderby', array( $this, 'query_orderby' ) );
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы