web-dev-qa-db-ja.com

カスタム日付フィールドの値(今日より前)とカスタム日付フィールドの順序でカスタム投稿タイプを表示する

カスタム日付タイプの値を今日より前にしてカスタム投稿タイプを表示しようとしています。今日の前に投稿を表示することは問題ありませんが、順序は投稿日に基づいてのみです。結果をmeta_keyの順に並べたい。

私は次のコードを試してみましたが、なぜうまくいかないのかわかりません。

query_posts( array(
  'post_type'    => 'soiree',
  'orderby'      => 'meta_value',
    'meta_key'   => 'date_de_concert',
    'meta_query' => array(
        array(
           'key'            => 'date_de_concert',
           'posts_per_page' => '-1',
           'value'          => date( 'Y-m-d' ),
           'compare'        => '<',
           'type'           => 'DATE',
           'orderby'        => 'value',
           'order'          => 'DESC',
        )
    )
) );
2
guiyom84

私はWP_Queryを使用することを好みます(より詳しくは " いつWP_Query vs query_posts()vs get_posts()を使うべきですか? "を読んでください):

$args = array(
  'post_type'      => 'soiree',
  'post_status'    => 'publish',
  'posts_per_page' => -1,
  'orderby'        => 'date_de_concert',
  // you don't need 'meta_key' => 'date_de_concert' when using meta_query
  //'meta_key'     => 'date_de_concert',
  'order'          => 'DESC',
  'meta_query'     => array(
                        array(
                          'key'     => 'date_de_concert',
                          'value'   => strtotime( 'today' ),
                          'compare' => '<'
                        )
                      )
);

$concert_query = new WP_Query( $args );

if ( $concert_query->have_posts() ) : while ( $concert_query->have_posts() ) : $concert_query->the_post();
1
benny-ben