web-dev-qa-db-ja.com

Meta_valueの日付けでクエリを実行する

カスタムフィールドの値を使用してカスタムタイプの投稿に対してクエリを実行しようとしています。このフィールドには文字列date:dd.mm.yyyyが含まれています。投稿タイプ名は 'event'です。カスタムフィールド名は 'date_event'です。

DATE_EVENTの月が現在の月と一致するすべてのEVENTを表示します。

何か提案pls?

私は同じようなことをしました、あなたが使う必要がある技術はメタクエリと呼ばれます。

これは、カスタムフィールドのメタ値として保存された日付値に基づいて投稿を取得するために私が書いたクエリです。

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'はメタ値で結果をソートします

'meta_key' => 'date_event'はカスタムフィールドが何と呼ばれているかを伝えます

meta_queryは、結果が両方の条件に一致する必要があることを指定する配列です。次に、最小日付と最大日付を指定します。

日付値はYYYY-MM-DDまたは "Unix Epochからの秒数"の値として格納する必要があります。

4
Ben Cole