WooCommerce: Tắt Phạm vi giá sản phẩm/ ẩn giá cao nhất
Phạm vi giá trị của từng loại sản phẩm thường thay đổi giống như $ 100- $ 999 vì sản phẩm thường có nhiều kiểu/ loại/ kích cỡ… bạn không muốn khách hàng biết giá trị cao nhất để mua sản phẩm. Với đoạn mã này, bạn sẽ có thể ẩn giá cao nhất, đồng thời thêm “From:” vào trước giá tối thiểu. Tất cả những gì bạn cần là dán đoạn mã sau vào functions.php của theme của bạn.
Đoạn mã PHP 1: Thay đổi phạm vi giá sản phẩm từ $$$ – $$$ thành “Từ: $$$ min_price” với WooCommerce
Phiên bản này cũng tương thích với các plugin chỉnh sửa giá sản phẩm khác (chẳng hạn như Dynamic Pricing). Đoạn mã này sẽ in giá “From:” duy nhất, là giá thấp nhất trong tất cả các giá, bao gồm cả giá ưu đãi.
[code]
add_filter( ‘woocommerce_variable_price_html’, ‘bbloomer_variation_price_format_min’, 9999, 2 );
function bbloomer_variation_price_format_min( $price, $product ) {
$prices = $product->get_variation_prices( true );
$min_price = current( $prices[‘price’] );
$price = sprintf( __( ‘From: %1$s’, ‘woocommerce’ ), wc_price( $min_price ) );
return $price;
}
[/code]
Đoạn mã PHP 2: Thay đổi giá sản phẩm từ $$$ – $$$ thành “From: $$$ min_reg_price $$$ min_sale_price” với WooCommerce
Đoạn mã này sẽ in giá “From:” và nếu có giá ưu đãi, nó cũng sẽ bao gồm giá thông thường ban đầu (đã giảm).
[code]
add_filter( ‘woocommerce_variable_price_html’, ‘bbloomer_variation_price_format’, 10, 2 );
function bbloomer_variation_price_format( $price, $product ) {
// 1. Get min/max regular and sale variation prices
$min_var_reg_price = $product->get_variation_regular_price( ‘min’, true );
$min_var_sale_price = $product->get_variation_sale_price( ‘min’, true );
$max_var_reg_price = $product->get_variation_regular_price( ‘max’, true );
$max_var_sale_price = $product->get_variation_sale_price( ‘max’, true );
// 2. New $price, unless all variations have exact same prices
if ( ! ( $min_var_reg_price == $max_var_reg_price && $min_var_sale_price == $max_var_sale_price ) ) {
if ( $min_var_sale_price < $min_var_reg_price ) {
$price = sprintf( __( ‘From: <del>%1$s</del><ins>%2$s</ins>’, ‘woocommerce’ ), wc_price( $min_var_reg_price ), wc_price( $min_var_sale_price ) );
} else {
$price = sprintf( __( ‘From: %1$s’, ‘woocommerce’ ), wc_price( $min_var_reg_price ) );
}
}
// 3. Return $price
return $price;
}
[/code]
Thêm đoạn mã này vào đâu?
Bạn có thể đặt các đoạn mã PHP ở cuối tệp functions.php chủ đề con của mình (trước “?>” Nếu bạn có). Mặt khác, CSS có trong tệp style.css chủ đề con của bạn.
Đoạn mã này (vẫn) hoạt động chứ?
Vui lòng cho tôi biết trong phần bình luận nếu mọi thứ hoạt động như mong đợi. Tôi rất sẵn lòng sửa đổi đoạn mã nếu bạn có góp ý phù hợp (vui lòng cung cấp ảnh chụp màn hình).
Dịch vụ thiết kế website chuyên nghiệp tại Web MTP
Liên hệ ngay với chúng tôi nếu bạn đang gặp khó khăn trong việc thiết kế web nhé!
Website: https://webmtp.com/
Hotline: 0931 912 379
Mời bạn xem nhiều bài hấp dẫn khác