Woocommerce Добавить вариант продукта в корзину по специальной ссылке

Я пытаюсь добавить продукт изменения в свою корзину напрямую по ссылке. Я устанавливаю variable_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> 

И наоборот, простой продукт работает нормально. Я установил цены для своих вариантов продукта в администраторе. Не уверен, почему это не так просто, как отправить данные. Любая помощь была бы весьма признательна.

Solutions Collecting From Web of "Woocommerce Добавить вариант продукта в корзину по специальной ссылке"

В настоящее время я работаю в магазине woocommerce v2.1.12, и, похоже, они играли это поведение.

мой URL-адрес ajax для добавления элементов в корзину должен выглядеть следующим образом:

 ?add-to-cart=[PRODUCT-ID]&variation_id=[VARIATION-ID]&attribute_[ATTRIBUTE-NAME]=[ATTRIBUTE-SLUG]&attribute_[ATTRIBUTE-NAME]=[ATTRIBUTE-SLUG] 

пример:

 http://example.com/store/category/product/?add-to-cart=239&variation_id=240&attribute_pa_size=48-2&attribute_pa_color=gold 

это добавляет конкретный продукт в корзину, а также устанавливает атрибуты изменения в тележке. вы можете даже установить количество, просто добавив &quantity=[VALUE]

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

Выяснил это. Мне не хватало пара параметров, необходимых для добавления переменного продукта в корзину. Недопустимыми параметрами являются variation_id и тип атрибута, на которые ссылается variable_id. Идентификатор варианта можно найти в продуктах admin> woocomerce> и на вкладке «Варианты» рядом с изменением продукта, которое вы создали.

Параметр атрибута формируется из attribute_ префикса_, а затем – для имени санированного атрибута. Например, мой атрибут называется Stock Colors, поэтому мой атрибут type param – атрибут_статок. Из того, что я могу сказать, вы просто установите attribute_stock-colors=1 потому что метод add to cart просто проверяет, существует ли он.

Вот простой пример ссылки, которая добавляет продукт в мою корзину с изменением id 261 цветов акций:

 <a href="<?php echo esc_url( $product->add_to_cart_url() ); ?>&variation_id=261&attribute_stock-colors=1">Add to Cart</a> 

Чтобы использовать это в реальной ситуации, вам нужно будет динамически устанавливать тип атрибута и вариационный идентификатор из параметров, которые пользователь выбрал в раскрывающемся списке или что-то в этом роде (если каждый продукт не имеет одинаковые вариации, что в основном делает его образцом для simpel ).