Woocommerce скидки, если в корзине есть товары - PullRequest
0 голосов
/ 27 сентября 2019

Есть ли возможность создать купонную скидку, если в корзине 3 конкретных товара?

Я пробовал разные вещи в стандартном плагине Woocommerce, но это не работает.

Есть ли кто-нибудь, кто может мне помочь?

1 Ответ

1 голос
/ 27 сентября 2019

Добавьте следующий фрагмент кода в файл functions.php вашей активной темы, чтобы выполнить вышеперечисленное -

function apply_discount_in_woocommerce_cart() {
    $coupon_code = 'abc'; 
    if ( WC()->cart->has_discount( $coupon_code ) ) return;

    $specific_products = array( 12, 13, 14 ); // Assume 3 products ids
    $all_products_count = 0;
    foreach ( $specific_products as $product_id ) {
        $product_cart_id = WC()->cart->generate_cart_id( $product_id );
        $in_cart = WC()->cart->find_product_in_cart( $product_cart_id );
        if ( $in_cart ) {
            $all_products_count++;
        }
    }
    // check all products count equals to 3 on not
    if( $all_products_count === 3 ) {
        WC()->cart->add_discount( $coupon_code );
        wc_print_notices();
    }
}
add_action( 'woocommerce_before_cart', 'apply_discount_in_woocommerce_cart', 99 );

И не забудьте заменить фиктивные идентификаторы продуктов в массиве на идентификаторы ваших конкретных продуктов и код купона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...