/**
* Hiển thị dải giá cho sản phẩm biến thể trong WooCommerce.
*
* @param string $wcv_price Giá của sản phẩm biến thể.
* @param WC_Product_Variable $product Đối tượng sản phẩm.
* @return string Giá sản phẩm đã được định dạng.
*/
function wc_varb_price_range( $wcv_price, $product ) {
// Tiền tố cho dải giá.
$prefix = sprintf('%s: ', __('Từ', 'wcvp_range'));
// Lấy giá bán lẻ và giá khuyến mãi tối thiểu và tối đa.
$wcv_reg_min_price = $product->get_variation_regular_price( 'min', true );
$wcv_min_sale_price = $product->get_variation_sale_price( 'min', true );
$wcv_max_price = $product->get_variation_price( 'max', true );
$wcv_min_price = $product->get_variation_price( 'min', true );
// Xác định giá hiển thị dựa trên giá khuyến mãi và giá bán lẻ.
$wcv_price = ( $wcv_min_sale_price == $wcv_reg_min_price ) ?
wc_price( $wcv_reg_min_price ) :
'<del>' . wc_price( $wcv_reg_min_price ) . '</del>' . '<ins>' . wc_price( $wcv_min_sale_price ) . '</ins>';
// Nếu giá tối thiểu bằng giá tối đa, chỉ hiển thị một giá.
return ( $wcv_min_price == $wcv_max_price ) ?
$wcv_price :
sprintf('%s%s', $prefix, $wcv_price);
}
// Áp dụng hàm cho giá bán của sản phẩm biến thể.
add_filter( 'woocommerce_variable_sale_price_html', 'wc_varb_price_range', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'wc_varb_price_range', 10, 2 );