Woocommerce программно сокращает запасы при покупке соответствующей вариации

Хорошо, постараюсь объяснить проблему. Я продаю принты ограниченным тиражом на своем сайте. Они бывают разных размеров, а также бывают в рамке и без рамы.

Прямо сейчас я установил для каждого продукта 2 атрибута: размер и рамку. В вариациях у меня есть 4 варианта

  • 11x17 без рамы
  • 11х17 в рамке
  • 20x30 без рамки
  • 20х30 в рамке

Проблема возникает с инвентарем. Всего есть 10 отпечатков 11x17, но, поскольку мне нужно ввести количество запасов для каждого варианта, я должен сделать что-то вроде этого:

  • 11x17 без рамы 10 шт.
  • 11x17 в рамке 10 шт.

Из-за этого кажется, что всего 20 отпечатков вместо 10.

В идеале я бы хотел вести инвентаризацию на основе атрибутов, а не вариаций, но, похоже, нет способа сделать это.

Я не могу настроить рамку в качестве дополнительного продукта, потому что стоимость рамки растет по мере увеличения размера отпечатка.

Меня интересует, есть ли способ программно уменьшить запас других вариаций при покупке одной вариации. Таким образом, когда кто-то покупает «11x17 без рамки», запас «11x17 в рамке» одновременно уменьшается на -1.

Все продукты на сайте абсолютно одинаковы, поэтому я бы не возражал против жесткого кодирования названий конкретных вариантов в коде.

Не уверен, что что-то подобное выполнимо, но я был бы очень признателен за любые идеи.

Это самый близкий пример, который я смог найти для настройки обработки запасов: Уменьшить элемент WooCommerce Инвентарь по значению атрибута

Заранее спасибо, Дженни


person also    schedule 03.05.2018    source источник
comment
Если вы открыты для плагинов, я думаю, что это: woocommerce.com/products/product-add- ons будет соответствовать всем требованиям.   -  person Justin Reasoner    schedule 05.05.2018
comment
Я думаю, что важно включить в ваш вопрос тот факт, что вам нужно взимать разные цены за рамку / без рамы. Если бы не это, вы могли бы использовать существующий функционал WooCommerce. Проблема, с которой вы столкнулись, связана с тем, что WooCommerce предполагает, что количество и цена управляются на одном и том же уровне.   -  person Leon Francis Shelhamer    schedule 07.05.2018
comment
Да, это правильно. Цена в рамке и без рамки разные. А цена самой рамки увеличивается с размером отпечатка. Так, рамка для 11х17 стоит меньше, чем рамка для 20х30, что делает невозможным установку в качестве дополнения.   -  person also    schedule 07.05.2018