首页 > 解决方案 > Woocommerce 自动添加到特定产品的购物车功能

问题描述

我已将此代码添加到购物车中添加自动产品还添加了另一个产品 ID 以排除此自动产品添加。但它不能正常工作。如何禁用特定产品的自动添加产品?

add_action('woocommerce_add_to_cart', 'add_product_to_cart_two');
function add_product_to_cart_two() {
    if ( !is_admin()  && !is_cart() && !is_checkout()) {
        $product_id = 8788; 
        $excloud_product = 4555; 

        $found = false;
        $items_count = 0;
        //check if product already in cart
        if ( sizeof( WC()->cart->get_cart() ) > 0 ) {
            foreach ( WC()->cart->get_cart() as $cart_item_key => $values) {
                $_product = $values['data'];
                

                if ( $_product->get_id() == $product_id ){
                    $product_key = $cart_item_key;
                    $product_qty = $cart_item['quantity'];
                    $found = true;
                }else {
                        $items_count++;
                }

                if ( $_product->get_id() == $product_id  || $_product->get_id() == $excloud_product){
                    $product_key = $cart_item_key;
                    $product_qty = $cart_item['quantity'];
                    $found = true;
                }else {
                    $items_count++;
                }

                
            }
            // if product not found, add it
            if ( ! $found ){
                WC()->cart->add_to_cart( $product_id, $items_count );
            }else{
                WC()->cart->set_quantity( $product_key, $items_count );
            }
        
        }else{
            WC()->cart->add_to_cart( $product_id );
        }
    }
}

标签: phpwordpresswoocommerce

解决方案


推荐阅读