複数のカスタムフィールドの値で、ソートをしたいとき。

WordPress

例えば、カスタムフィールドに、ピックアップフラグ用と予算を入れるフィールドがあるとします。
ピックアップにチェックがあるものは、先頭に表示しつつ、更に 予算順で並び替えを行う。

  • ピックアップフラグ:pickup(真/偽)
  • 予算:cost(text)
$args = array(
     'posts_per_page' => get_option('posts_per_page'),
     'post_type' => 'post',
     'paged' => $paged,
     'meta_query' => array(
         'relation' => 'AND',
         'pickup' => array(
             'key' => 'pickup',
             'type' => 'BINARY',
         ),
         'cost' => array(
             'key' => 'cost',
             'type' => 'NUMERIC',
         ), 
     ),
     'orderby' => array(
         'pickup' => 'DESC',
         'cost' => 'ASC'
     )
 );
 $wp_query = new WP_Query( $args );

コメント

スポンサーリンク
タイトルとURLをコピーしました