Php Wordpress Orderby习惯于订购帖子
我想按折扣金额订购我的产品。 我已将折扣保存为一个名为“折扣”的帖子元中的数字,但当我使用以下代码时:Php Wordpress Orderby习惯于订购帖子,php,wordpress,Php,Wordpress,我想按折扣金额订购我的产品。 我已将折扣保存为一个名为“折扣”的帖子元中的数字,但当我使用以下代码时: $productArgs = array( 'posts_per_page' => 20, 'post_type' => 'product', 'meta_key' => 'discount', 'orderby' => 'meta_value_decimal', 'or
$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);
产品显示为:0%、50%、55%、28%。
即使我将顺序
更改为ASC,输出也不会发生任何变化
我还尝试了'orderby'=>'meta\u value
,但没有'meta\u type'
有人知道这是什么原因吗
编辑:
我发现了我的错误。。我的帖子被添加到一个数组中,ID作为数组键,按帖子ID排序。如果折扣字段都是数字,请尝试
'orderby'=>'meta\u value\u num'
并删除meta\u type
参数 您可以为orderby参数定义元键,如
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'=>“折扣”
?和'meta_value'=>'decimal'
?meta_查询呢@NewUser-我只需要按meta_值排序-它是0还是100并不重要,所以我不知道应该如何使用meta_查询来做到这一点。@JustOnUnderMillions-我不知道你的评论是什么意思。。