Je devais créer un champ personnalisé "date" avec ce format 16/09/2013 (j/m/a).
Comment puis-je comparer la date et afficher uniquement les publications avec la date d'aujourd'hui?
Ceci est ma requête qui ne fonctionne pas !!
$args = array(
'posts_per_page' => 100,
'meta_key' => 'date',
'orderby' => 'meta_value',
'order' => 'ASC',
'meta_query' => array(
array(
'key' => 'city',
'value' => 'London',
'compare' => 'LIKE'
),
array(
'key' => 'date',
'value' => date("Y/m/d"),
'compare' => '>=',
'type' => 'DATE'
),
)
);
Jetez un coup d'oeil à meta.php: 777 :
... CAST($alias.meta_value AS {$meta_type}) {$meta_compare} {$meta_compare_string})...
Donc, si vous souhaitez utiliser les comparaisons DATE, vous devez utiliser des formats de date compatibles avec MySQL (AAAA-MM-JJ).
Changer cette partie de votre code:
array(
'key' => 'date',
'value' => date("Y/m/d"),
'compare' => '>=',
'type' => 'DATE'
),
à:
array(
'key' => 'date',
'value' => date("Y-m-d"), // <- change
'compare' => '>=',
'type' => 'DATE'
),
et ça devrait marcher.