WP_Query() показ записей, которые заканчиваются позже сегодняшней даты
У меня есть следующий запрос:
$wp_query = new WP_Query(
'meta_key' => 'end_date',
'meta_value' => 'today',
'meta_compare' => '>=',
'post_type' => 'vehicle'
);
Я хочу показать только те записи типа 'vehicle', у которых мета-поле end_date содержит дату, которая позже сегодняшней даты.
Как это можно реализовать?

Во-первых, формат даты должен быть в порядке убывания от больших единиц к меньшим, т.е.: год, месяц, день, час, минута, секунда и т.д. В противном случае MySQL не сможет выполнять запросы или сортировать по этому полю. В этом примере я использую год - месяц - день:
$today = date( 'Y-m-d' );
$args = array(
'post_type' => 'vehicle',
'meta_query' => array(
array(
'key' => 'end_date',
'value' => $today,
'compare' => '>=',
'type' => 'DATE'
)
)
);
$query = new WP_Query( $args );

+1 Кстати: Если вопрос достаточно хорош для ответа, то он также заслуживает и апвоута. Похожий вопрос и заглядывай в чат как-нибудь :)

WordPress добавил поддержку запросов по дате начиная с версии 3.7. Таким образом, вы всегда можете использовать:
$today = date( 'Y-m-d' );
$args = array(
'post_type' => 'vehicle',
'date_query' => array(
//установите диапазон дат с помощью строк!
'after' => 'today',
//разрешить возвращение точных совпадений
'inclusive' => true,
),
);
$query = new WP_Query( $args );
Подробнее об этом можно узнать по ссылке https://codex.wordpress.org/Class_Reference/WP_Query#Date_Parameters
