//for Regular Price
UPDATE wp_postmeta
SET meta_value = diff_price_value
WHERE post_id = variation_id AND meta_key = '_regular_price';
//for Price
UPDATE wp_postmeta
SET meta_value = price_value
WHERE post_id = variation_id AND meta_key = '_price';
//for Sale Price
UPDATE wp_postmeta
SET meta_value = price_value
WHERE post_id = variation_id AND meta_key = '_sale_price';
ĐÃ THÊM Nếu bạn muốn hợp nhất tất cả truy vấn trên thành một truy vấn duy nhất, bạn có thể sử dụng truy vấn này:
UPDATE wp_postmeta
SET meta_value = CASE
WHEN meta_key = "_regular_price" THEN diff_price_value
WHEN meta_key = "_price" THEN price_value
WHEN meta_key = "_sale_price" THEN price_value
ELSE meta_key
END
WHERE post_id = variation_id
AND meta_key IN ("_regular_price", "_price", "_sale_price");
Ngoài ra, bạn phải xóa bộ nhớ đệm giá sản phẩm WooCommerce được lưu trữ trong wp_options
bảng trong _transient_timeout_wc_var_prices_{{post_id}}
và _transient_wc_var_prices_{{post_id}}
trong option_name
DELETE
FROM `wp_options`
WHERE (`option_name` LIKE '_transient_wc_var_prices_%'
OR `option_name` LIKE '_transient_timeout_wc_var_prices_%')
Tất cả truy vấn trên đều được thử nghiệm và phù hợp với tôi.
Trước khi chạy truy vấn này, hãy sao lưu cơ sở dữ liệu
Tham khảo: Sao chép sản phẩm WooCommerce Giá ưu đãi thành giá thông thường và đặt lại Giá ưu đãi
Hy vọng điều này sẽ hữu ích!