web-dev-qa-db-ja.com

order_by meta_value_numを正しく動作させることができません

このクエリは意図したとおりにALMOSTを実行していますが、何らかの理由でカスタムフィールドopl_submission_tempoで並べ替えることができません。そのフィールドは数値になるように設定されているので、ここでどこに問題があったのかわかりません。

$tempo_query = new WP_Query(
    array(
      'post_type'       => 'opl_tempo_submission',
      'order_by'        => 'meta_value_num',
      'meta_key'        => 'opl_submission_tempo',
      'order'           => 'ASC',
      'posts_per_page'  => 1,
      'meta_query'      => array(
        'relation' => 'AND',
        array(
          'key' => 'opl_submission_exercise_type',
          'value' => $exercise_type,
          'compare' => '='
        ),
        array(
          'key' => 'opl_submission_exercise_number',
          'value' => $exercise_number,
          'compare' => '='
        )
      )
    )
  );
1
AHinson

order_byはありません。 order_byorderby に変更すればうまくいきます。

compareのデフォルト値は=なので不要です。削除することができます。また、デフォルトのtypeではなく特定の型である場合は、meta_valueCHARを指定する必要があります。

2
MinhTri