У меня есть цифровой продукт, который описывается количеством и ценой, но для этого требуется еще 3 номера (даты Unix и т.д.). Проблема: как получить эти цифры в корзину?
Насколько я вижу, есть два возможных способа справиться с этим:
- Изменение продукта
- Пользовательское поле продукта
Похоже, что вариации могут обрабатывать только дискретные значения с ограниченным диапазоном (т.е. красный/желтый/зеленый, S/M/L и т.д.) и не могут обрабатывать общие целые числа, например даты. Это оставляет настраиваемые поля. Я думаю, что я прав, говоря, что пользовательские поля являются обычными метаданными на странице публикации продукта, поэтому я могу обрабатывать их с помощью get_post_meta
и update_post_meta
.
Итак, если я перейду к пользовательским полям, тогда я бы обновил поле страницы продукта во время заказа, а затем я прочитал бы поле во время проверки, когда будет создан WC_Order
, и добавьте поле в новый порядок, Однако это не сработает. Я не могу изменять метаданные на странице продукта, потому что продукт является глобальным для всех клиентов, и эта операция будет мешать другим клиентам. Другими словами, вы не можете хранить информацию о заказе в продукте, поэтому ни один из этих параметров не будет работать.
Итак, как хранить временные метаданные продукта и передавать его между фазами упорядочения и проверки (т.е. между WC_Cart
и WC_Order
)?
Один из вариантов - сохранить его как пользовательские метаданные (или данные сеанса?), но должен быть лучший способ - любые идеи?