このクエリは意図したとおりに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' => '='
)
)
)
);
order_by
はありません。 order_by
を orderby
に変更すればうまくいきます。
compare
のデフォルト値は=
なので不要です。削除することができます。また、デフォルトのtype
ではなく特定の型である場合は、meta_value
のCHAR
を指定する必要があります。