WP_Query() mostrar entradas que terminan después de hoy
Tengo una consulta como sigue:
$wp_query = new WP_Query(
'meta_key' => 'end_date',
'meta_value' => 'today',
'meta_compare' => '>=',
'post_type' => 'vehicle'
);
Quiero mostrar solo aquellas entradas del tipo de post vehículo que tengan la meta clave end_date que contenga una fecha posterior a la fecha de hoy.
¿Cómo se puede lograr esto?

Primero, el formato de fecha debe estar en orden descendente de las unidades más grandes a las más pequeñas, es decir: año, mes, día, hora, minuto, segundo, etc., de lo contrario MySQL no puede consultar u ordenar el campo. En este ejemplo utilizo año - mes - día:
$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 Por cierto: Si una pregunta es lo suficientemente buena como para responderla, también debería serlo para darle un voto positivo. Pregunta relacionada y pásate por el chat algún día :)

WordPress añadió consultas por fecha en la versión 3.7. Así que siempre puedes probar:
$today = date( 'Y-m-d' );
$args = array(
'post_type' => 'vehicle',
'date_query' => array(
//establecer rangos de fechas con strings!
'after' => 'today',
//permitir que se devuelvan coincidencias exactas
'inclusive' => true,
),
);
$query = new WP_Query( $args );
Puedes encontrar más información sobre esto en https://codex.wordpress.org/Class_Reference/WP_Query#Date_Parameters
