WordPressのGET_POSTSでカスタムフィールドの値による並び替えを行う

カスタムフィールドテンプレートを使っていて、例えばカスタムフィールドに登録している価格順に並べて要素を取得したいときがあります。

そういうときは$argsで下のように指定して

$args = array(
        'post_type' => 'Phone',
        'post_status' => 'publish',
        'posts_per_page' => -1,
        'orderby' => array(
          'date' => 'DESC',
          'Price' => 'ASC',
          'Performance' => 'DESC',
        ),
        'meta_query' => array(
          'relation'=>'AND',
          'Price' => array(
            'key'=>'price_key',
          ),
          'Performance' => array(
            'key'=>'performance_key',
          )
        )
      );

$Phone = new WP_Query($args);

これでポストタイプのPhoneが、「日付(新しい順)ー>価格(安い順)ー>パフォーマンス(高い順)」にソートされるわけです。 これで新しくてコスパのいいスマホが一瞬で見つかりますね!