Việc thêm đơn vị tính cho sản phẩm không chỉ giúp cải thiện trải nghiệm người dùng mà còn hỗ trợ quản lý kho hàng và vận chuyển một cách hiệu quả. Bài viết này sẽ hướng dẫn bạn cách thêm và hiển thị đơn vị tính cho sản phẩm trong WooCommerce bằng mã code PHP.
Lợi ích của việc thêm đơn vị tính cho sản phẩm
Đơn vị tính là yếu tố quan trọng giúp khách hàng hiểu rõ hơn về sản phẩm, đặc biệt khi sản phẩm có kích thước, khối lượng hoặc số lượng cụ thể. Ví dụ, thay vì chỉ hiển thị giá, bạn có thể hiển thị “100.000đ / kg” hoặc “50.000đ / cái”. Điều này giúp khách hàng đưa ra quyết định mua hàng nhanh chóng và chính xác hơn.
Ngoài ra, việc quản lý kho hàng và vận chuyển cũng trở nên dễ dàng hơn khi bạn có thông tin đơn vị tính rõ ràng. Điều này đặc biệt hữu ích đối với các doanh nghiệp bán hàng đa dạng về kích thước, khối lượng hoặc số lượng sản phẩm.
Cách hoạt động của tính năng thêm đơn vị tính

WooCommerce không cung cấp sẵn trường đơn vị tính trong giao diện quản trị. Để thêm tính năng này, chúng ta cần sử dụng mã code PHP để tạo một trường nhập liệu mới trong trang chỉnh sửa sản phẩm. Sau đó, dữ liệu này sẽ được lưu trữ và hiển thị trên trang sản phẩm.
Mã code để thêm đơn vị tính cho sản phẩm
Dưới đây là các đoạn mã PHP cụ thể để thêm và hiển thị đơn vị tính cho sản phẩm trong WooCommerce. Bạn có thể thêm mã này vào file functions.php
của theme con hoặc sử dụng plugin như “Code Snippets”.
Thêm trường đơn vị tính vào sản phẩm
Đoạn mã sau sẽ thêm một trường nhập liệu mới trong phần chỉnh sửa sản phẩm:
add_action('woocommerce_product_options_general_product_data', 'them_don_vi_tinh');
function them_don_vi_tinh() {
woocommerce_wp_text_input(array(
'id' => '_don_vi_tinh',
'label' => __('Đơn vị tính', 'woocommerce'),
'desc_tip' => 'true',
'custom_attributes' => array('list' => 'don_vi_tinh_list')
));
}
Khi áp dụng mã này, bạn sẽ thấy một trường nhập liệu mới có nhãn “Đơn vị tính” trong phần chỉnh sửa sản phẩm.
Định nghĩa danh sách đơn vị tính
Để giúp người dùng dễ dàng chọn đơn vị tính, bạn có thể thêm một danh sách gợi ý như sau:
function don_vi_tinh_list() {
echo '<datalist id="don_vi_tinh_list">
<option value="cái">
<option value="bộ">
<option value="Combo">
</datalist>';
}
add_action('admin_footer', 'don_vi_tinh_list');
Đoạn mã này sẽ hiển thị danh sách các đơn vị tính phổ biến như “cái”, “bộ”, “Combo” khi bạn bắt đầu nhập liệu vào trường “Đơn vị tính”.
Lưu trường đơn vị tính khi sản phẩm được lưu
Để đảm bảo dữ liệu được lưu trữ đúng cách, hãy sử dụng đoạn mã sau:
function luu_don_vi_tinh($product_id) {
$don_vi_tinh = isset($_POST['_don_vi_tinh']) ? $_POST['_don_vi_tinh'] : '';
update_post_meta($product_id, '_don_vi_tinh', esc_attr($don_vi_tinh));
}
add_action('woocommerce_process_product_meta', 'luu_don_vi_tinh');
Đoạn mã này sẽ lưu giá trị nhập vào trường “Đơn vị tính” vào cơ sở dữ liệu mỗi khi sản phẩm được cập nhật.
Hiển thị đơn vị tính sau giá sản phẩm
Cuối cùng, để hiển thị đơn vị tính ngay sau giá sản phẩm trên trang cửa hàng và trang chi tiết sản phẩm, hãy sử dụng đoạn mã sau:
function hien_thi_don_vi_tinh($price, $product) {
$don_vi_tinh = get_post_meta($product->get_id(), '_don_vi_tinh', true);
if ($don_vi_tinh) {
$price .= ' <b>/ </b>' . $don_vi_tinh;
}
return $price;
}
add_filter('woocommerce_get_price_html', 'hien_thi_don_vi_tinh', 10, 2);
Khi áp dụng mã này, đơn vị tính sẽ xuất hiện ngay sau giá sản phẩm, ví dụ: “100.000đ / kg”.
FAQs
Làm thế nào để thêm mã code vào WordPress?
Bạn có thể thêm mã code vào file functions.php
của theme con hoặc sử dụng plugin “Code Snippets”.
Liệu mã code này có tương thích với tất cả các theme không?
Có, mã code này hoạt động tốt với hầu hết các theme sử dụng WooCommerce.
Tôi có thể thêm đơn vị tính tùy chỉnh khác không?
Có, bạn có thể thêm bất kỳ đơn vị tính nào bằng cách chỉnh sửa danh sách trong mã code.
Làm thế nào để kiểm tra xem đơn vị tính đã hiển thị chưa?
Sau khi thêm mã code, hãy kiểm tra trang sản phẩm hoặc trang cửa hàng để xem đơn vị tính có hiển thị đúng cách không.
Tại sao đơn vị tính không hiển thị trên trang cửa hàng?
Kiểm tra xem bạn đã nhập đơn vị tính trong phần chỉnh sửa sản phẩm chưa và đảm bảo mã code đã được thêm đúng cách.
Có thể hiển thị đơn vị tính ở vị trí khác không?
Có, bạn có thể điều chỉnh hook trong mã PHP để thay đổi vị trí hiển thị.
Kết Luận
Thêm đơn vị tính cho sản phẩm trong WooCommerce không chỉ giúp cải thiện trải nghiệm người dùng mà còn hỗ trợ quản lý kho hàng và vận chuyển một cách hiệu quả. Với các đoạn mã code và hướng dẫn chi tiết trên, bạn hoàn toàn có thể tự mình thực hiện thay đổi này một cách dễ dàng. Hãy thử nghiệm và tận hưởng kết quả tuyệt vời mà nó mang lại.