Lỗi “Giá biến thể sản phẩm không khớp giá kê khai trong WooCommerce” là một vấn đề khá phổ biến đặc biệt khi bạn đang sử dụng các plugin tùy chỉnh giá, bộ lọc cache hoặc nhập liệu hàng loạt. Có rất nhiều nguyên nhân dẫn tới giá bạn nhập liệu trong các biến thể sản phẩm (màu sắc, kích cỡ, dung lượng, trọng lượng…) đã đúng nhưng khi hiển thị lại sai giá, đảo vị trí giá, giá cao thành giá thấp, giá sản phẩm thấp thành cao. Dưới đây là hướng dẫn chi tiết cách xác định nguyên nhân và khắc phục triệt để trên WordPress.

Tìm Hiểu Nguyên Nhân Gốc
Giá biến thể sản phẩm trong WooCommerce có thể không khớp với giá kê khai (giá hiển thị trên trang sản phẩm hoặc trong giỏ hàng) do một trong các nguyên nhân sau:
Nhóm nguyên nhân | Mô tả |
Sai cấu hình giá biến thể | Một số biến thể không được nhập giá hoặc bị nhập giá khuyến mãi mà chưa xóa giá thường. |
Xung đột plugin | Plugin thay đổi giá (như Dynamic Pricing, Currency Switcher, Multilingual, Product Add-ons, v.v.) làm lệch giá hiển thị. |
Lỗi bộ nhớ đệm (cache) | Cache của LiteSpeed, WP Rocket, Cloudflare hoặc plugin caching khác đang lưu giá cũ. |
Giá chưa đồng bộ trong CSDL | Khi nhập sản phẩm qua CSV hoặc plugin như WP All Import, giá không được cập nhật chính xác trong bảng wp_postmeta. |
Đơn vị tiền tệ / thuế | Khi bật thuế hoặc chuyển đổi đơn vị tiền, giá gốc và giá hiển thị có thể bị sai khác. |
Cách Kiểm Tra Nhanh
✅ Bước 1: Kiểm tra từng biến thể
- Vào Sản phẩm → Chỉnh sửa sản phẩm → Biến thể
- Mở từng biến thể, đảm bảo:
- Có giá thường (Regular Price)
- Nếu có giá khuyến mãi (Sale Price) → đảm bảo ngày khuyến mãi còn hiệu lực.
- Bấm Cập nhật sản phẩm để WooCommerce tự làm mới cache giá.
✅ Bước 2: Làm mới bảng giá WooCommerce
WooCommerce lưu giá biến thể vào bảng meta (các dòng _price, _regular_price, _sale_price).
Nếu dữ liệu cũ hoặc sai, chạy lại lệnh cập nhật:
Cách thủ công (trong quản trị):
- Vào WooCommerce → Tình trạng → Công cụ
- Cuộn xuống và nhấn:
- “Xóa các giá biến thể đã lưu trữ”
- “Tái tạo dữ liệu sản phẩm”
- Sau đó Làm mới cache trang web (nếu có dùng LiteSpeed hoặc WP Rocket)
✅ Bước 3: Kiểm tra plugin gây xung đột
Tạm thời vô hiệu hóa các plugin có thể can thiệp giá:
- Plugin khuyến mãi (Dynamic Pricing, Discount Rules,…)
- Plugin chuyển đổi tiền tệ (WOOCS, Aelia,…)
- Plugin cache / tối ưu hiệu năng (LiteSpeed, WP Rocket,…)
Kiểm tra xem giá có khớp lại không. Nếu có → bật từng plugin một để tìm thủ phạm.
✅ Bước 4: Xóa cache
- Nếu dùng LiteSpeed Cache:
→ LiteSpeed Cache > Toolbox > Purge All - Nếu dùng WP Rocket:
→ WP Rocket > Dashboard > Clear Cache - Nếu dùng Cloudflare:
→ Caching > Purge Everything
💡 Cache trình duyệt cũng có thể gây lệch hiển thị giá, nên bạn có thể bật tab ẩn danh (Ctrl + Shift + N) để kiểm tra.
✅ Bước 5: Kiểm tra chênh lệch hiển thị (Frontend)
Nếu trên trang sản phẩm hiển thị sai nhưng ở admin lại đúng:
- Có thể do JS frontend đang đọc sai biến thể giá.
- Kiểm tra console (F12 > tab Console) để xem có lỗi price_html hoặc variation_form không.
- Một số theme tùy chỉnh (Flatsome, Woodmart, v.v.) có template riêng cho biến thể, nên hãy thử chuyển tạm sang theme mặc định (Storefront) để loại trừ lỗi giao diện.
Giải Gháp Triệt Để (nếu giá vẫn sai)
🔹 Dùng đoạn code cập nhật giá biến thể
Thêm đoạn code này vào file functions.php hoặc Code Snippets:
add_action(‘woocommerce_after_product_object_save’, function($product) {
if ($product->is_type(‘variable’)) {
foreach ($product->get_children() as $child_id) {
$variation = wc_get_product($child_id);
$variation->save(); // ép WooCommerce cập nhật lại giá
}
}
});
Sau đó vào Sản phẩm → Cập nhật (không cần sửa gì) để chạy cập nhật lại toàn bộ giá biến thể.
🔹 Dùng truy vấn SQL (nếu nhập hàng loạt bị lệch giá)
Nếu bạn dùng CSV hoặc WP All Import:
UPDATE wp_postmeta AS pm
SET pm.meta_value = (
SELECT meta_value FROM wp_postmeta WHERE post_id = pm.post_id AND meta_key = ‘_regular_price’
)
WHERE pm.meta_key = ‘_price’;
⚠️ Sao lưu database trước khi thực thi.
Lưu Ý Thêm Về Thuế Và Đơn Vị Tiền Tệ
Nếu bạn bật hiển thị giá đã gồm thuế, hãy kiểm tra lại tại:
WooCommerce → Cài đặt → Thuế → Giá hiển thị trong cửa hàng
Chọn:
- “Giá hiển thị trong cửa hàng: Đã bao gồm thuế” hoặc “Chưa bao gồm thuế”
Tùy theo cách bạn nhập giá gốc.
Kết Luận
Lỗi giá biến thể sản phẩm không khớp giá kê khai trong WooCommerce là lỗi kỹ thuật phổ biến, nhưng có thể khắc phục dễ dàng nếu bạn hiểu rõ nguyên nhân.
Tóm tắt nhanh:
Nguyên nhân | Cách khắc phục |
Sai giá trong admin | Kiểm tra lại giá từng biến thể |
Cache hiển thị sai | Xóa cache và tái tạo dữ liệu WooCommerce |
Xung đột plugin | Tắt plugin khuyến mãi hoặc đổi tiền |
Lỗi giao diện | Kiểm tra với theme mặc định |
Lỗi nhập dữ liệu | Dùng SQL hoặc code cập nhật lại giá |
Nếu bạn đang vận hành website bán hàng, việc đảm bảo giá hiển thị chính xác không chỉ giúp tăng doanh thu mà còn tạo niềm tin cho khách hàng. Hãy liên hệ DVM nếu bạn cần hỗ trợ kiểm tra và sử lý vấn đề này nhé!