web-dev-qa-db-ja.com

acf datepickerによる投稿を注文するためのクエリを取得できません

私はたくさん読んだことがありますが、いろいろなことを試してみましたが、それでもacfのdatepickerフィールドで投稿を注文するクエリを取得できません。これが私のコードのようなものです。

$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',
);

私はPROを使っていません、私は無料のものを使っています。保存フォーマットはyymmddです、私もYYYYMMDDを試しましたが、どちらもうまくいきませんでした。

2018年8月14日、2018年8月2日、2018年8月9日

2018年8月2日、2018年8月9日、2018年8月14日

表示形式はMM d, yyです。

2
Darren

保存されている形式を次の場所にあるpost_date形式に変換する必要があります。

Y-m-d H:i:s

そのとき初めて、コンパレータは自動的に生成されたクエリオブジェクトと正しく連携します。

2

ACFは日付をメタ値にyyyymmddとして格納するので、DATEにキャストすると正しく機能しない可能性が非常に高いです。

そして数と比較する必要はありません - 辞書のソートはここでうまくいきます。

これを試して:

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

PS。 ACFが日付の保存に使用する形式を設定できないことは間違いありません。これらの値を表示したり取得したりするための形式を設定できます。

1