У меня есть events
пользовательский тип записи, и я пытаюсь заказать их, но ничего, что я делаю, кажется, не меняет их порядок.Я использую расширенные настраиваемые поля, поэтому я устанавливаю meta_key
для атрибута, который мне нужен.
Что-то не так в этом запросе?
function events_archive( $query ) {
if( is_admin() ) {
return $query;
}
if( $query->is_post_type_archive('events') && $query->is_main_query()) {
$query->set('meta_key', 'start_date');
$query->set('orderby', 'meta_value');
$query->set('order', 'ASC');
$query->set('meta_query', array(
array(
'key' => 'start_date',
'value' => date('Ymd'),
'type' => 'DATE',
'compare' => '>=',
)
)
);
return $query;
}
}
Яполучаю результаты, но я заметил, что я могу поменять $query->set('order', 'ASC')
на $query->set('order', 'DESC');
, и это не изменит порядок.
Я видел несколько похожих сообщений SO, которые рекомендуют использовать $query->set('orderby', 'meta_value_num');
вместо$query->set('orderby', 'meta_value');
но, похоже, это никак не влияет на порядок.
Какие-либо предложения о том, как заставить порядок работать так, как ожидалось?