Thay chữ Sale thành % giảm giá trong woocommerce

Thay Sale thành % giảm giá woocommerce?

Nhiều khi chúng ta không muốn hiển thị chữ SALE khi sản phẩm đó có chương trình giảm giá.

Mà thay vào đó sẽ hiển thị phần trăm (%) giảm giá của sản phẩm đó.

Bạn cũng có thể thay đổi hiển thị Sale Flash/Sale Badge cho các sản phẩm có giá sale price, với plugin WooCommerce Smart Sale Badge.

Plugin sẽ thêm giá tiết kiệm được khi mua sản phẩm tại cửa hàng và sửa thêm vào chuỗi mặc định “Sale!”  nhưng bài này mình sẽ giới thiệu về thêm vào code

sale trong woocommerce

Đây là đoạn code giúp bạn thực hiện việc này:


add_filter( 'woocommerce_sale_flash', 'add_percentage_to_sale_badge', 20, 3 );
function add_percentage_to_sale_badge( $html, $post, $product ) {
    if( $product->is_type('variable')){
        $percentages = array();

        // Get all variation prices
        $prices = $product->get_variation_prices();

        // Loop through variation prices
        foreach( $prices['price'] as $key => $price ){
            // Only on sale variations
            if( $prices['regular_price'][$key] !== $price ){
                // Calculate and set in the array the percentage for each variation on sale
                $percentages[] = round(100 - ($prices['sale_price'][$key] / $prices['regular_price'][$key] * 100));
            }
        }
        // We keep the highest value
        $percentage = max($percentages) . '%';
    } else {
        $regular_price = (float) $product->get_regular_price();
        $sale_price    = (float) $product->get_sale_price();

        $percentage    = round(100 - ($sale_price / $regular_price * 100)) . '%';
    }
    return '' . esc_html__( '', 'woocommerce' ) . ' ' . "-". $percentage . '';
}

Giải thích:

Hàm add_filter: hook  hàm add_percentage_to_sale_badge vào hàm có sẵn trong woocommerce là

woocommerce_sale_flash

Đoạn code trong add_percentage_to_sale_badge  là cài đặt khi mà sản phẩm có sự chênh lệch giữa giá thật (

regular_price) và giá giảm giá (sale_price) rồi tính công thức theo phần trăm

Lời kết

Như vậy mình đã chia sẻ  cách thay Sale thành % giảm giá woocommerce.

Nếu các bạn thấy hay có thể theo dõi chuyên mục thủ thuật wordpress để biết thêm nhiều kiến thức mới nha.

Hãy follow fanpage để nhận được những bài viết mới nhất nhé : Hocwordpress Group

Chúc bạn có những kiến thức về  wordpress thú vị và hay ho !

5 1 vote
Đánh giá bài viết

View Comments (1)

  • Chào bác. Mình đã làm theo hướng dẫn và thành công, nhưng mình muốn nó hiển thị cả khi xem chi tiết sản phẩm thì làm thế nào bác?

Leave a Comment