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

ハックノートをフォローして
最新情報をチェックしよう

AWSの移行・構築はプロにおまかせ

サーバーからAWSへの移行も新規構築も初期費用無料です。
面倒なサーバー業務は全てお任せください。

くわしく読む