#wordpress
Вопрос:
При попытке вывода сообщений, упорядоченных по значению даты, указанному в качестве мета-записи, вывод получается не так, как ожидалось, и я не могу понять, почему.
$tourDates = get_posts(array(
'post_type' => 'tour',
'numberposts' => 4,
'meta_key' => '_sm_tour_date',
'orderby' => 'meta_value_date',
'meta_type' => 'DATE',
'order' => 'ASC',
'meta_query' => array(
array(
'key' => '_sm_tour_date',
'compare' => '>=',
'value' => date('Y-m-d')
)
)
));
Даты для каждой записи хранятся в формате ГГГГ-ММ-ДД, и это подтверждается, когда я добавляю вывод каждой даты события на лицевой стороне (что показывает, как она выводится в неправильном порядке).
Хотя на самом деле я не могу придумать, что можно изменить, и документы, которые я просмотрел, похоже, предполагают, что мой код верен (как и запрос meta_query).
У меня также нет пользовательских плагинов для заказа, чтобы изменить правила заказа.
У кого-нибудь есть какие-нибудь советы или идеи?
Ответ №1:
Просто предположение, но попробуйте изменить значение «orderby» на «meta_value», а не использовать «meta_value_date».
Если это не работает, у меня обычно возникают трудности с запросами get_posts, которые используют meta_query. Вы использовали WP_Query вместо get_posts?
Комментарии:
1. Спасибо за это. На самом деле мне удалось решить эту проблему, прежде чем вы ответили, но я отмечу ваш ответ как правильный, потому что вы находитесь в правильном месте. Изменив его с
meta_value_date
наmeta_value_num
, это сделало эту работу правильной (хотя я все еще не уверен, почему исходное значение сработало не так, как ожидалось).