J'ai une requête comme suit:
$wp_query = new WP_Query(
'meta_key' => 'end_date',
'meta_value' => 'today',
'meta_compare' => '>=',
'post_type' => 'vehicle'
);
Je souhaite afficher uniquement les publications du type de publication de véhicule ayant la méta clé end_date qui contient une date postérieure à la date du jour.
Comment cela peut-il être accompli?
Tout d’abord, votre format de date doit être dans l’ordre décroissant, de la plus grande à la plus petite unité, c’est-à-dire: année, mois, jour, heure, minute, seconde, etc. Sinon, MySQL ne peut ni interroger ni commander sur le terrain. Dans cet exemple, j'utilise année - mois - jour:
$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 );
WordPress a ajouté Date Queries in 3.7. Donc, vous pouvez toujours essayer:
$today = date( 'Y-m-d' );
$args = array(
'post_type' => 'vehicle',
'date_query' => array(
//set date ranges with strings!
'after' => 'today',
//allow exact matches to be returned
'inclusive' => true,
),
);
$query = new WP_Query( $args );
Pour plus d’informations, consultez la page https://codex.wordpress.org/Class_Reference/WP_Query#Date_Parameters