web-dev-qa-db-fra.com

Effectuer une requête avec la date meta_value

J'essaie d'effectuer une requête sur un message de type personnalisé en utilisant la valeur d'un champ personnalisé. Ce champ contient une date de chaîne: jj.mm.aaaa. Le nom du type de publication est 'event'. Le nom du champ personnalisé est 'date_event'.

Je voudrais montrer tous les événements dont le mois de DATE_EVENT correspond au mois en cours.

Toute suggestion pls?

J'ai fait quelque chose de similaire, la technique que vous devez utiliser s'appelle une méta-requête.

Voici la requête que j'ai écrite pour obtenir des publications basées sur une valeur de date stockée en tant que méta-valeur de champ personnalisé.

query_posts(
array(
'post_type'=>'post',
'order'=>'ASC',
'orderby'=>'meta_value_num',
'meta_key'=>'date_event',
'posts_per_page'=> -1,
'meta_query' => array(
    'relation' => 'AND',
       array(
           'key' => 'date_event',
           'value' => $startDate, // Lowest date value
           'compare' => '>='
       ),
       array(
           'key' => 'date_event',
           'value' => $endDate, // Highest date value
           'compare' => '<='
       )
   )
));

'orderby' => 'meta_value_num' va trier les résultats selon la méta-valeur

'meta_key' => 'date_event' indique comment s'appelle le champ personnalisé

meta_query est un tableau qui spécifie que les résultats doivent correspondre aux deux conditions, puis nous spécifions une date minimum et une date maximum.

Les valeurs de date doivent être enregistrées en tant que YYYY-MM-DD ou en tant que valeur "secondes depuis l’époque Unix".

4
Ben Cole