WP_Query() mostra i post che terminano dopo oggi
Ho una query come segue:
$wp_query = new WP_Query(
'meta_key' => 'end_date',
'meta_value' => 'today',
'meta_compare' => '>=',
'post_type' => 'vehicle'
);
Voglio mostrare solo quei post del tipo 'vehicle' che hanno la chiave meta end_date contenente una data successiva alla data odierna.
Come può essere realizzato?

Innanzitutto, il formato della data deve essere in ordine decrescente dalle unità più grandi alle più piccole, cioè: anno, mese, giorno, ora, minuto, secondo, ecc. Altrimenti MySQL non può interrogare o ordinare il campo. In questo esempio utilizzo anno - mese - giorno:
$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 A proposito: se una domanda è abbastanza buona da meritare una risposta, allora dovrebbe anche essere abbastanza buona da ricevere un voto positivo. Domanda correlata e passa in chat un giorno :)

WordPress ha introdotto le Query per Date nella versione 3.7. Quindi potresti sempre provare:
$today = date( 'Y-m-d' );
$args = array(
'post_type' => 'vehicle',
'date_query' => array(
//imposta gli intervalli di data con stringhe!
'after' => 'today',
//permetti il ritorno di corrispondenze esatte
'inclusive' => true,
),
);
$query = new WP_Query( $args );
Puoi trovare maggiori informazioni su https://codex.wordpress.org/Class_Reference/WP_Query#Date_Parameters
