Задать вопрос
@13ffingers

Как сделать скидку на самовывоз на определенные группы товаров?

Здравствуйте, помогите пожалуйста, я не особо шарю, был подобный вопрос, но там я не нашел прямого ответа. Отблагодарю копеечкой на кофе, если можно?)
//Суть
Сделана скидка от выбранного метода доставки 10%, нужно чтобы она применялась к определенным категориям товаров: ID=19 ID=20 и local_pickup

// Функция для скидки2

function prefix_add_discount_line( $cart ) {
$chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
$chosen_shipping_no_ajax = $chosen_methods[0];
if ( 0 === strpos( $chosen_shipping_no_ajax, 'local_pickup' ) ) {

$discount = $cart->subtotal * 0.10;
$cart->add_fee( __( 'Сумма скидки', 'yourtext-domain' ) , -$discount );
}
}
add_action( 'woocommerce_cart_calculate_fees', 'prefix_add_discount_line');

слетело после обновления, не помню как делал.

//что то типа этого было
function woo_discount_total(WC_Cart $cart) {

foreach($cart->get_cart() as $cart_item) {

if(has_term("19", "product_cat", $cart_item["product_id"]) && has_term("20", "product_cat", $cart_item["product_id"])) { // Если в корзине есть товар из категории с ID = 19 и ID = 20

$discount = $cart->subtotal * 0.10;

$cart->add_fee("Фиксированная скидка в 10% за выбор товара из акционных категорий ", -$discount);

break;

}

}

}

add_action("woocommerce_cart_calculate_fees" , "woo_discount_total");
  • Вопрос задан
  • 414 просмотров
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы