web-dev-qa-db-ja.com

WP_Queryがカスタム文字列で順序付けされている日付文字列

私の各投稿には、(投稿の日付ではなく)日付の文字列であるカスタムフィールドが1つあります。テーマの現在のクエリ(発行日順)の代わりに、このカスタムフィールドの日付順に並べ替えます。カスタムフィールド(日付の文字列表現)を使用するように、このクエリ(テーマのクエリ)を変更する方法を教えてください。

$timeline_query = new WP_Query(array( 
    'post_type' => 'post', 
    'orderby' => 'date', 
    'order' => 'DESC', 
    'posts_per_page' => -1 
));
3
brushleaf

Codexの WP_Query ページには Order&Orderby Parameters のセクションがあります。

カスタムフィールドでクエリを並べたい場合は、'orderby' => 'meta_value' _と_ を追加する必要があります。また、クエリでyour_date_fieldキーを使用してカスタムフィールド(上記の例ではmeta_keyと呼びます)を指定する必要があります。

$timeline_query = new WP_Query(array( 
    'post_type' => 'post', 
    'orderby' => 'meta_value',
    'meta_key' => 'your_date_field' 
    'posts_per_page' => -1 
));
4
RRikesh

HTML5のtype = "date"フィールドを使っている人のためのメモです。フォーマットはyyyy-mm-ddで記録されています。日付は数値だと思い、注文が失敗した理由がわからないので、 'orderby' => 'meta_value-num'を使用していました。それから私はこのスレッドを見て、代わりに 'meta_value'を使用しました、そして、それはうまくいきました!

注これをRRikeshの回答にコメントとして追加したいのですが、私のアカウントにはまだ十分な評判がないのでコメントできませんので、新しい回答を追加する必要がありました。

0
Chris Chalmers