web-dev-qa-db-ja.com

WP_Query - メタ値による結果の並べ替え

私は確認しましたが、まだうまくいく答えを見たことがありません。私は以下の議論を含むWP_Queryを持っています:

$args = array(
    'post_status' => 'publish',
    'post_type' => 'listing',
    'meta_key' => 'client_feedback_score',
    'orderby' => 'client_feedback_score',
    'order' => 'DESC'
        );

$query = new WP_Query($args);

カスタム投稿フィールド「client_feedback_score」の順に並べます(最小から最大)。しかし、これではうまくいかないようです…誰かが私を正しい方向に向けることはできますか?

編集(解決済み):

Miloの回答のおかげで、数値メタ値で並べ替えるための実用的なコードは次のとおりです。

$args = array(
            'post_status' => 'publish',
            'post_type' => 'listing',
            'meta_key' => 'client_feedback_score',
            'orderby' => 'meta_value_num',
            'order' => 'DESC'
        );
47
Adam Moss

orderbyは、キーの名前ではなく、meta_value_numまたはmeta_valueである必要があります。 WP_Query orderbyパラメータ を参照。

64
Milo