Hôm nay chúng ta sẽ mã hóa một tiện ích bổ sung UX tuyệt vời làm cách nào để chúng ta hiển thị đầu vào số lượng sản phẩm bên cạnh mỗi sản phẩm trong bảng đặt hàng Thanh toán? Điều này thật tuyệt nếu mọi người cần điều chỉnh số lượng của họ khi thanh toán trước khi hoàn thành đơn đặt hàng của họ; Ngoài ra, sẽ rất hữu ích khi bạn không có trang Giỏ hàng và muốn chuyển mọi người thẳng đến Checkout và bỏ qua một cú nhấp chuột khác.

Việc tùy chỉnh số lượng sản phẩm trên trang thanh toán trong WooCommerce là một trong những cách hiệu quả để tối ưu hóa trải nghiệm mua sắm của khách hàng và cải thiện hiệu suất bán hàng. Bài viết này sẽ hướng dẫn chi tiết cách thay đổi số lượng sản phẩm trên trang thanh toán bằng cách sử dụng đoạn mã PHP.
Tại Sao Nên Thay Đổi Số Lượng Sản Phẩm Trên Trang Thanh Toán?
1. Tăng Trải Nghiệm Người Dùng
Bằng cách hiển thị một số lượng sản phẩm hợp lý trên trang thanh toán, bạn giúp khách hàng dễ dàng kiểm tra và xác nhận các sản phẩm họ đã chọn, từ đó giảm thiểu sai sót và tăng tỷ lệ hoàn tất đơn hàng.
2. Tối Ưu Hóa Hiệu Suất Trang Web
Việc giới hạn số lượng sản phẩm hiển thị trên trang thanh toán giúp cải thiện tốc độ tải trang, đặc biệt khi khách hàng có giỏ hàng lớn. Điều này không chỉ nâng cao trải nghiệm người dùng mà còn có lợi cho SEO.
3. Quản Lý Tốt Hơn Quá Trình Thanh Toán
Giới hạn số lượng sản phẩm trên trang thanh toán có thể giúp cửa hàng dễ dàng quản lý quá trình thanh toán, giảm nguy cơ quá tải và các lỗi phát sinh trong quá trình xử lý đơn hàng.
Đoạn mã PHP: Hiển thị bộ chọn số lượng sản phẩm WooCommerce Checkout
Lưu ý – bạn cũng có thể cần ẩn chuỗi “x2” mà WooCommerce hiển thị bên cạnh tên sản phẩm trong trường hợp có 2 mặt hàng trong Giỏ hàng (“Tên sản phẩm x1”, “Tên sản phẩm x2”, “Tên sản phẩm x3”, v.v. tùy thuộc vào số lượng). Bạn có thể làm như vậy với 1 lớp lót gọn gàng mà bạn tìm thấy ở đầu đoạn mã bên dưới.
Các bạn copy đoạn code bên dưới và dán vào bên trong file functions.php của theme nhé.
Xem thêm: Child Theme WordPress là gì? Ưu điểm và nhược điểm
/**
* @snippet Item Quantity Inputs @ WooCommerce Checkout
* @author ThemeTOT.com
* @compatible WooCommerce
*/
// ----------------------------
// Add Quantity Input Beside Product Name
add_filter( 'woocommerce_checkout_cart_item_quantity', 'bbloomer_checkout_item_quantity_input', 9999, 3 );
function bbloomer_checkout_item_quantity_input( $product_quantity, $cart_item, $cart_item_key ) {
$product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
$product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );
if ( ! $product->is_sold_individually() ) {
$product_quantity = woocommerce_quantity_input( array(
'input_name' => 'shipping_method_qty_' . $product_id,
'input_value' => $cart_item['quantity'],
'max_value' => $product->get_max_purchase_quantity(),
'min_value' => '0',
), $product, false );
$product_quantity .= '<input type="hidden" name="product_key_' . $product_id . '" value="' . $cart_item_key . '">';
}
return $product_quantity;
}
// ----------------------------
// Detect Quantity Change and Recalculate Totals
add_action( 'woocommerce_checkout_update_order_review', 'bbloomer_update_item_quantity_checkout' );
function bbloomer_update_item_quantity_checkout( $post_data ) {
parse_str( $post_data, $post_data_array );
$updated_qty = false;
foreach ( $post_data_array as $key => $value ) {
if ( substr( $key, 0, 20 ) === 'shipping_method_qty_' ) {
$id = substr( $key, 20 );
WC()->cart->set_quantity( $post_data_array['product_key_' . $id], $post_data_array[$key], false );
$updated_qty = true;
}
}
if ( $updated_qty ) WC()->cart->calculate_totals();
}

Kết Luận
Thay đổi số lượng sản phẩm trên trang thanh toán trong WooCommerce là một bước quan trọng để tối ưu hóa trải nghiệm người dùng và hiệu suất trang web. Hy vọng bài viết này đã cung cấp cho bạn những thông tin hữu ích và hướng dẫn chi tiết để thực hiện thay đổi này. Hãy thử áp dụng và theo dõi sự cải thiện trong hiệu suất và trải nghiệm của khách hàng trên trang web của bạn.
Chúc bạn thành công trong việc quản lý và phát triển cửa hàng WooCommerce của mình!


Solutek - Technology & IT Solution ReactJs Templat
Qovex - Laravel Admin & Dashboard Template
Synadmin - Laravel 8 + Bootstrap 5 Admin Template
Ameen - Bootstrap Admin Dashboard HTML Template
LMS Dashboard Template
Clivax - ASP.Net & MVC Admin & Dashboard Template
Mooli Hospital - Bootstrap Admin Template
Bloggar - News Magazine React Template
Dashboard HTML Template for Bootstrap 4
Unikit - Multi Application Admin Dashboard Templat
Lunoz - CodeIgniter Admin & Dashboard Template
Svelte IT Solution Technology Marketing - Skywave
Huma Admin Dashboard PRO - Bootstrap 4 Admin Templ
WowDash - CakePHP - Admin Dashboard Template
Apaxy - Admin & Dashboard Template
Theme WordPress Bán Thiết Bị Camera 2
Vien Angular - Angular 9 Admin Template
Minimia - Admin Dashboard and UI Kit Template
Skote - Symfony Admin & Dashboard Template
Reactor - Bootstrap Admin Template
Prinoz - Printing company & Service React Template
Busiplus - Corporate Business HTML5 Template
Velonic - React Admin & Dashboard Template
Rocker - Laravel 8 + Bootstrap 5 Admin Template
Infetech - Technology & IT Solutions Elementor Template Kit
Cassie Responsive Bootstrap 4 Dashboard Template 















