web-dev-qa-db-fra.com

impossible d'obtenir une requête pour commander des articles par acf datepicker

J'ai lu beaucoup, j'ai essayé différentes choses, je n'arrive toujours pas à obtenir ma requête pour commander des articles en fonction du champ datepicker de acf. Voici à quoi ressemble mon code:

$args = array(
    'post_type'   =>  'arm_careers',
    'post_status' => 'publish',
    'posts_per_page' => -1,
    'meta_key' => 'post_date',
    'orderby' => 'meta_value_num',
    'meta_type' => 'DATE',
    'order' => 'ASC',
);

Je n'utilise pas PRO, j'utilise celui qui est gratuit. Le format de sauvegarde est yymmdd, j'ai aussi essayé YYYYMMDD mais aucun n'a fonctionné.

Voici à quoi cela ressemble actuellement: 14 août 2018 2 août 2018 9 août 2018

quand je veux que ça ressemble à: 2 août 2018 9 août 2018 14 août 2018

Le format d'affichage est MM d, yy.

2
Darren

Vous devez convertir votre format enregistré au format post_date qui est au format

Y-m-d H:i:s

Ensuite, les comparateurs fonctionneront correctement avec les objets de requête générés automatiquement.

2
Nicholas Koskowski

ACF stocke les dates sous la forme aaaaammjjd dans des méta-valeurs. Il est donc très probable que le transfert vers DATE ne fonctionne pas correctement ...

Et il n’est pas nécessaire de le comparer en tant que nombre - le tri par dictionnaire fonctionnera ici.

Essaye ça:

$args = array(
    'post_type' => 'arm_careers',
    'post_status' => 'publish',
    'posts_per_page' => -1,
    'meta_key' => 'post_date',
    'orderby' => 'meta_value',
    'order' => 'ASC',
);

PS Je suis sûr que vous ne pouvez pas définir le format qu'ACF utilisera pour stocker les dates. Vous pouvez définir le format d'affichage de ces valeurs ou de leur obtention.

1
Krzysiek Dróżdż