Đoạn snippet này sẽ giúp bạn đồng bộ số lượng các mặt hàng trong giỏ hàng với số lượng chỉ định bởi mỗi ID sản phẩm. Nghĩa là, Khi bạn thêm sản phẩm thứ hai vào giỏ hàng, số lượng sẽ được lấy bằng số lượng của sản phẩm trước đó có trên giỏ hàng. Và nếu bạn cập nhật số lượng sản phẩm, những sản phẩm khác trong giỏ hàng cũng sẽ tự động cập nhật theo số lượng.
Ví dụ dưới đây, mỗi khi tôi thay đổi số lượng cho sản phẩm có ID = 20 (ở đây là “2 Simple”), thì tất cả những sản phẩm khác đều thay đổi số lượng cùng nhau.
Đồng bộ số lượng sản phẩm đồng loạt trên giỏ hàng WooCommerce
Chú ý: chỉ định một sản phẩm ban đầu sẽ đồng bộ cùng thông qua biến “master_product_id”. Theo đoạn mã sau tất cả các sản phẩm khác có trong giỏ hàng sẽ được đồng bộ về số lượng cũng với sản phẩm của bạn. Chép đoạn mã này vào tệp functions.php
/** * @snippet Sync Cart Item Quantities * @author Vinastar * @compatible WooCommerce 4.0 */ add_action( 'template_redirect', 'hoangweb_sync_cart_quantities' ); function hoangweb_sync_cart_quantities() { if ( WC()->cart->is_empty() ) return; $master_product_id = 20; $in_cart = false; foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { if ( $master_product_id === $cart_item['product_id'] ) { $qty = $cart_item['quantity']; $in_cart = true; break; } } if ( ! $in_cart ) return; foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { if ( $master_product_id !== $cart_item['product_id'] ) { WC()->cart->set_quantity( $cart_item_key, $qty ); } } }
Chúc bạn thành công.
Nếu bạn thích bài viết này, hãy ủng hộ chúng tôi bằng cách đăng ký nhận bài viết mới ở bên dưới và đừng quên chia sẻ kiến thức này với bạn bè của bạn nhé. Bạn cũng có thể theo dõi blog này trên Twitter và Facebook
Liên hệ
Công ty chuyên Thiết kế website uy tín nhất Miền Bắc: http://vinastar.net
Hotline tư vấn: 0989 48 3456
Nguồn: Sưu tầm trên internet