Woocommerce Додати варіаційний продукт у кошик зі спеціального посилання [закрито]


15

Я намагаюся додати варіаційний продукт у свій кошик безпосередньо за посиланням. Я встановлюю variation_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>

І навпаки, простий продукт працює чудово. Я встановив ціни для своїх варіантів продуктів у адміністратора. Не впевнений, чому це не так просто, як надсилання даних через. Будь-яка допомога буде дуже вдячна.

Відповіді:


10

Я зараз працюю в магазині 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]

врешті-решт, це стане в нагоді, оскільки всі ці значення встановлені всередині форми подання / вибору полів, ви просто повинні їх переглянути.


2
Швидка примітка - ознайомтесь із полем вибору варіантів на предмет відповідного імені атрибута. Зазвичай він використовує дефіси, тому ви отримуєте: & attribute_my-attribute-name = value
Імперативні ідеї

9

Зрозумів це. Мені не вистачало декількох параметрів, необхідних для додання змінного продукту до кошика. Відсутні параметри - це variation_idтип і атрибут, на variation_idякий посилається. Ідентифікатор варіанту можна знайти в адміністраторі> woocomerce> продукти та на вкладці варіантів поруч із створеною вами варіантом продукту.

Параметр атрибута формується з префікса, attribute_а потім імені санізованого атрибута. Наприклад, мій атрибут називається Stock Colors, тому мій параметр типу атрибута - attribute_stock-color. З того, що я можу сказати, ви просто встановили, attribute_stock-colors=1оскільки метод додавання до кошика просто перевіряє, чи існує він.

Ось простий приклад посилання, що додає товар до моєї кошика з ідентифікацією варіації 261 кольорів на складі:

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

Щоб використовувати це в реальній ситуації, вам потрібно буде динамічно встановити тип атрибута та ідентифікатор варіанту з параметрів, які користувач вибирав у спадному меню або щось подібне (якщо кожен продукт не має однакових варіацій, що в основному зробить його продуктом simpel ).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.