Я пытаюсь добавить продукт вариации в корзину напрямую по ссылке. Я устанавливаю var_id с помощью строки запроса. Насколько я могу судить, я отправляю данные точно так же, как и форма продукта по умолчанию.
Вот код внутри моей страницы с одним продуктом:
<a href="<?php echo esc_url( $product->add_to_cart_url() ); ?>&variation_id=262" class="rounded-rect-button add-to-cart">Add to Cart</a>
И наоборот, простой продукт работает отлично. Я установил цены на свои варианты продукта в админке. Не уверен, почему это не так просто, как отправка данных. Любая помощь будет принята с благодарностью.
источник
Понял это из. Мне не хватало пары параметров, необходимых для добавления товара в корзину. Отсутствующие параметры являются
variation_id
типом атрибута и, наvariation_id
который ссылается объект. Идентификатор варианта можно найти в разделе admin> woocomerce> products и на вкладке вариантов рядом с созданным вами вариантом продукта.Атрибут param формируется из префикса
attribute_
и затем очищенного имени атрибута. Например, мой атрибут называется Stock Colours, поэтому мой тип атрибута param - attribute_stock-colors. Из того, что я могу сказать, вы просто установили,attribute_stock-colors=1
потому что метод добавления в корзину просто проверить, существует ли он.Вот простой пример ссылки, которая добавляет товар в мою корзину с номером вариации 261 стандартных цветов:
Чтобы использовать это в реальной ситуации, вам нужно было бы динамически установить тип атрибута и идентификатор вариации из опций, которые пользователь выбрал в раскрывающемся списке, или что-то в этом роде (если только у каждого продукта нет одного и того же варианта, что в основном делает его продуктом simpel). ).
источник