WordPressで記事を取得する際、カスタムフィールドに入力した値で並び替えたい場合があります。
しかし、
$results = get_posts(array(..., 'orderby' => 'meta_value'));
としてしまうと、カスタムフィールドが「文字列」として評価されてしまい、2よりも10の方が先に来てしまいます。カスタムフィールドを数字として評価するには「meta_value_num」を利用します。
$results = get_posts(array(
'orderby' => 'meta_value_num',
'meta_key' => 'price',
'order' => 'asc'
));