Как автоматически добавить вариант WooCommerce при нажатии на кнопку?

У меня есть категория продуктов под названием «коллекция» со многими продуктами внутри. Все эти продукты являются вариативными продуктами с вариациями внутри. У меня есть вариации с размером: "Simple Pot" и отделкой: "Chalky Interior Matt" внутри. Я хочу добавить пользовательскую кнопку, которая автоматически добавит этот вариант в корзину. Для этого я добавил эту функцию в файл functions.php:

add_action('woocommerce_after_add_to_cart_button','cmk_additional_button');
function cmk_additional_button()
{
  echo '<a href="#" button type="submit" class="button alt">Sample 
Pot</button></a>';

}

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


person Dora    schedule 17.05.2017    source источник
comment
woocommerce_after_add_to_cart_button не даст вам идентификатор продукта ... но на странице продукта, если вы возьмете gobal var $post внутри своей функции обратного вызова, он даст вам продукт, с этим идентификатором продукта вы можете получить его варианты и заполнить ссылки в соответствии с вашими потребностями .   -  person Alice    schedule 17.05.2017
comment
Вы должны быть в состоянии global $product получить переменный объект продукта на этом хуке.   -  person helgatheviking    schedule 17.05.2017


Ответы (1)


add_action('woocommerce_after_add_to_cart_button','cmk_additional_button');
function cmk_additional_button()
{
  echo '<a href="cart/?add-to-cart=10233&variation_id=10234&attribute_pa_color=red" button type="submit" class="button alt">Sample 
Pot</a>';

}

попробуй такой фрагмент

person mujuonly    schedule 17.05.2017
comment
Variation_id=10234 не является одинаковым для каждого продукта. так что это не может использовать все продукты, которые имеют эти варианты в категории. - person Dora; 17.05.2017