基本上我想通过修改后的自定义价格元对WP_QUERY的结果进行排序:
$args['orderby'] = 'meta_value_num';
$args['meta_key'] = 'buy_price';
$args['order'] = 'desc';
假设我有3个帖子,具有3个不同的价格值:
post_id meta_key meta_value
1 (oranges) buy_price 10 €
2 (peaches) buy_price 12 €
3 (apples) buy_price 8 €
帖子1是橙子。如果我购买1个橙子,我需要支付10欧元,但是如果我一次购买3个橙子,我每个人只需支付9€。因此,meta_value暂时需要更改为9€。 我的主要目标是输出最便宜的水果: 用户可以手动设置他想要的水果量。例如:他想要10个水果,然后寻找最便宜的水果。
sorted entrys (cheapest price first):
10 apples cost 9€ each -> 90€
10 oranges cost 8€ each -> 80€
10 peaches cost 11€ each -> 110€
有人知道吗,如何在WP_QUERY中通过计算进行排序?
我的第一个想法是制作一个json数组作为发布元值
{
"oranges":{
"10%": 3, // 3 oranges give a fee rebate of 10% per orange
"15%": 10 // 10 or more oranges give a fee rebate of 15% per orange
}
},
问题是我们不应该将数组保存在wp_meta中,而且我不确定计算后如何排序。我应该选择自定义元表吗?