从购物车中删除产品并查询此cookie时设置cookie

时间:2017-12-10 21:53:36

标签: php cookies woocommerce

我正在使用此代码将产品添加到购物车。它永久存在,因为如果不在购物车中,此代码会立即添加它。 我想要的是用户可以选择将其从购物车中删除。所以它应该在用户删除它时设置一些cookie。但是如何设置cookie以及如何询问cookie是否存在? cookie可以永久设置。这样,一旦取消选择,用户就不会再在购物车中自动获得产品。

function add_product_to_cart() {

if ( ! is_admin() ) {
    $product_id = 123; // Product ID to auto-add
    $variation_id = 124; // Set to 0 if no variation

    if ( empty( $product_id ) || ) {
        return;
    }

    // Get WC Cart
    $cart = WC()->cart;

    // Get WC Cart items
    $cart_items = $cart->get_cart();

    // Check if product is already in cart
    if ( 0 < count( $cart_items ) ) {
        foreach ( $cart_items as $cart_item_key => $values ) {
            $_product = $values['data'];

            // Product is already in cart, bail
            if ( $_product->get_id() == $product_id ) {
                return;
            }
        }
    }

    // Add product to cart
    $cart->add_to_cart( $product_id, 1, $variation_id );

    // Calculate totals
    $cart->calculate_totals();

    // Save cart to session
    $cart->set_session();

    // Maybe set cart cookies
    $cart->maybe_set_cart_cookies();
   }

}
add_action( 'template_redirect', 'add_product_to_cart' );

0 个答案:

没有答案