заказ wp_query по пользовательской мета цене после расчетного значения с бонусом, если их больше одного - PullRequest
0 голосов
/ 07 марта 2019

В основном я хочу отсортировать результаты 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 в качестве мета-значения post

 {
    "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, и я не уверен, как сортировать после расчета. Должен ли я выбрать собственную таблицу метаданных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...