2017-04-20 26 views
0

私は割引量で私の製品を注文しようとしています。 は、私が「割引」と呼ばれる私のポストメタ内数として割引を保存しているが、私は次のコードを使用する場合:0%、50%、55%、28: Wordpress Orderby投稿はありません

$productArgs = array(
    'posts_per_page' => 20, 
    'post_type'   => 'product', 
    'meta_key'   => 'discount', 
    'orderby'   => 'meta_value_decimal', 
    'order'    => 'DESC', 
    'meta_type'   => 'DECIMAL', 
); 

$test = $productArgs; 

$products = get_posts($productArgs); 

製品

は次のように表示されます%。 orderをASCに変更しても、出力に何も起こりません。

また、私は'orderby' => 'meta_valueを試しましたが、'meta_type'はありませんでした。

これを引き起こしている可能性のあるアイデアはありますか?

編集:私は...私のポストはポスト-IDによってソートされた配列、キーとしてIDと、配列に追加された私のミスを考え出し

+0

「 'orderby' => 'discount''ではありませんか? https://developer.wordpress.org/reference/functions/get_posts/#sourceそして '' meta_value '=>' decimal''? https://developer.wordpress.org/reference/classes/wp_query/parse_query/ – JustOnUnderMillions

+0

meta_queryについて https://codex.wordpress.org/Class_Reference/WP_Meta_Query – NewUser

+0

@NewUser - 私はmeta_valueで注文する必要があります - 0か100かどうかは関係ありませんので、どうすればそれを行うmeta_query – rblarsen

答えて

0

割引フィールドがすべて数字の場合は、'orderby' => 'meta_value_num'を試してmeta_typeパラメータを削除してください。

+0

私はそれを試みましたが、残念ながら.. – rblarsen

0

あなたは、これは動作します

query_posts(
    array( 'post_type' => 'product', 
      'order'  => 'ASC', 
      'meta_key' => 'discount', 
      'orderby' => 'meta_value', //or 'meta_value_num' 
      'meta_query' => array(
           array('key' => 'order_in_archive', 
             'value' => 'some_value' 
           ) 
          ) 
    ) 
); 

希望、orderbyのパラメータ等のためのメタキーを定義することができます。

関連する問題