Множественная сортировка в хуке pre_get_posts
1 дек. 2014 г., 18:23:24
Просмотры: 21.2K
Голосов: 8
Раньше я мог сортировать результаты запроса по 2 критериям ("сначала сортировать результаты по статусу=непроданные ASC, затем по дате DESC) таким образом:
add_action( 'pre_get_posts', 'my_get_posts' );
function my_get_posts( $query )
{
if (is_admin()){
return;
}
if (is_post_type_archive('objet')){
// Сток: сортировать сначала по непроданным, затем по дате
$query->set('meta_key', 'wpcf-object-sold-status' );
$query->set('orderby', 'meta_value date');
$query->set('order', 'ASC DESC' );
}
return $query;
}
Но теперь это больше не меняет порядок результатов. Я не знаю, почему это перестало работать. Возможно, это связано с обновлением с WordPress 3 до 4?

pixeline
2.88K
Комментарии
Все ответы на вопрос
1
0
Как сказал Мило:
$query->set('meta_key', 'wpcf-object-sold-status' );
$query->set('orderby', array('meta_value' => 'ASC', 'date' => 'DESC'));
// $query->set('order', 'ASC DESC' ); // не требуется
Ссылка по теме: https://make.wordpress.org/core/2014/08/29/a-more-powerful-order-by-in-wordpress-4-0/

skim-
638
2 дек. 2014 г. 00:44:25
Похожие вопросы
2
ответов