Hướng dẫn chi tiết cách xóa sản phẩm khỏi giỏ hàng WooCommerce (Code, Plugin & Thủ công)

xóa sản phẩm khỏi giỏ hàng woocommerce

Khi vận hành một cửa hàng trên nền tảng WooCommerce, việc cho phép khách hàng linh hoạt quản lý giỏ hàng là yếu tố then chốt để tối ưu tỷ lệ chuyển đổi. Thao tác xóa sản phẩm khỏi giỏ hàng WooCommerce tưởng chừng đơn giản nhưng lại ẩn chứa nhiều tầng kỹ thuật và chiến lược. Bài viết này sẽ đi sâu vào từng phương pháp, từ cơ bản đến nâng cao, giúp bạn kiểm soát hoàn toàn trải nghiệm mua sắm của người dùng.

Bản chất của việc xóa sản phẩm khỏi giỏ hàng WooCommerce

xóa sản phẩm khỏi giỏ hàng woocommerce - Hình 5

Trong cấu trúc dữ liệu của WooCommerce, giỏ hàng được lưu trữ dưới dạng session (phiên làm việc) cho khách vãng lai và dưới dạng usermeta cho người dùng đã đăng nhập. Mỗi sản phẩm khi được thêm vào sẽ tạo ra một “cart item key” duy nhất. Việc xóa sản phẩm khỏi giỏ hàng WooCommerce thực chất là xóa bỏ cart item key này khỏi mảng dữ liệu giỏ hàng, đồng thời cập nhật lại tổng tiền và số lượng.

WooCommerce cung cấp sẵn một nút xóa (biểu tượng thùng rác) bên cạnh mỗi sản phẩm trong trang giỏ hàng. Tuy nhiên, trong nhiều tình huống, bạn cần can thiệp sâu hơn: tự động xóa sản phẩm hết hàng, xóa sản phẩm theo điều kiện, hoặc tùy chỉnh giao diện nút xóa.

Các phương pháp xóa sản phẩm khỏi giỏ hàng WooCommerce

xóa sản phẩm khỏi giỏ hàng woocommerce - Hình 4

1. Xóa thủ công qua giao diện người dùng

Đây là cách phổ biến nhất. Khách hàng truy cập trang /cart, nhìn thấy bảng danh sách sản phẩm. Mỗi dòng sản phẩm đều có một biểu tượng “×” hoặc “Remove this item”. Khi nhấp vào, WooCommerce sẽ gửi một yêu cầu AJAX để xóa sản phẩm đó khỏi session.

Điểm mạnh của phương pháp này là trực quan, không cần kiến thức kỹ thuật. Tuy nhiên, nếu bạn muốn tùy chỉnh vị trí hoặc kiểu dáng của nút xóa, bạn sẽ cần can thiệp vào file template cart.php của theme.

2. Xóa bằng code PHP (dành cho nhà phát triển)

Nếu bạn cần tự động hóa quy trình, việc viết code PHP trong file functions.php của theme con là giải pháp tối ưu. Bạn cần lấy được cart item key của sản phẩm muốn xóa. Ví dụ, để xóa sản phẩm có ID 123 khỏi giỏ hàng ngay khi người dùng thêm nó vào:

add_action( 'woocommerce_add_to_cart', 'custom_remove_product_from_cart', 10, 6 );
function custom_remove_product_from_cart( $cart_item_key, $product_id, $quantity, $variation_id, $variation, $cart_item_data ) { if ( $product_id == 123 ) { WC()->cart->remove_cart_item( $cart_item_key ); }
}

Đoạn code này sẽ tự động xóa sản phẩm khỏi giỏ hàng WooCommerce nếu sản phẩm đó có ID là 123. Rất hữu ích khi bạn muốn chặn một sản phẩm đặc biệt không cho thêm vào giỏ.

Xóa tất cả sản phẩm trong giỏ hàng

Để xóa toàn bộ giỏ hàng, bạn dùng hàm WC()->cart->empty_cart(). Thường được dùng sau khi thanh toán thành công hoặc khi người dùng nhấn nút “Xóa tất cả”.

Xóa sản phẩm theo điều kiện (hết hàng, giảm giá, v.v.)

xóa sản phẩm khỏi giỏ hàng woocommerce - Hình 3

Giả sử bạn bán hàng theo mùa. Sau khi kết thúc mùa, sản phẩm không còn được bán nữa. Thay vì để khách thêm vào giỏ và sau đó báo lỗi,

WooCommerce đã tích hợp sẵn AJAX cho nút xóa. Bạn chỉ cần đảm bảo theme của mình hỗ trợ. Nếu muốn tùy chỉnh, hãy sử dụng hook wc_ajax_remove_from_cart trong JavaScript.

Có thể xóa sản phẩm khỏi giỏ hàng dựa trên vai trò người dùng không?

Có.

Nguyên nhân thường do xung đột JavaScript, lỗi theme, hoặc plugin bảo mật chặn AJAX. Hãy kiểm tra console trình duyệt và tạm thời tắt các plugin để xác định nguyên nhân.

Làm sao để thêm nút “Xóa tất cả” trong giỏ hàng?

Bạn có thể thêm một nút HTML trong file cart.php và gán sự kiện click gọi hàm WC()->cart->empty_cart() hoặc sử dụng plugin như “WooCommerce Empty Cart Button”.

Kết luận

xóa sản phẩm khỏi giỏ hàng woocommerce - Hình 2

Xóa sản phẩm khỏi giỏ hàng WooCommerce không chỉ là thao tác kỹ thuật mà còn là chiến lược quản lý trải nghiệm khách hàng. Tùy vào năng lực và nhu cầu, bạn có thể chọn phương pháp thủ công, code PHP hoặc plugin. Điều quan trọng là luôn kiểm tra kỹ lưỡng, thông báo rõ ràng cho người dùng và duy trì tính ổn định của hệ thống. Với những hướng dẫn chi tiết trong bài viết này, bạn hoàn toàn có thể kiểm soát mọi khía cạnh của giỏ hàng, từ đó tối ưu hóa doanh thu và sự hài lòng của khách hàng.

Bài viết cùng chủ đề:

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *