web-dev-qa-db-fra.com

Comparer WP Date du champ personnalisé

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'
    ),
)
);
2
Caponi Elia

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.

1