Tạo thông báo Freeship cho WooCommerce

Đây là một tips nhỏ mà gần như tất cả các Khách hàng mình đều rất thích, mình nghĩ anh em cũng sẽ cần. Tips này cũng khá đơn giản, bạn lấy giá trị của đơn hàng tối thiểu được freeship trừ cho giá trị đơn hàng hiện tại và chèn vào vị trí mà Khách hàng sẽ có khả năng “thêm món” nhất là được.

Bước 1: Vào setup giá trị đơn hàng miễn phí Bạn vào Cài đặt → Giao Hàng → Khu vực giao hàng → Sửa

Thường thì tùy chọn này là mặc định nên sẽ có giá trị ID là 1

Trường hợp bạn khác số ID này với code mẫu thì hãy thay nó ở đoạn woocommerce_free_shipping_1_settings này nhé!

Bước 2: Mở file functions.php mặc định của theme và chèn code sau vào cuối file

/**
 * Hiển thị thông báo miễn phí vận chuyển
 */
function notice_freeship() {
    global $woocommerce;

    // Lấy cài đặt miễn phí vận chuyển
    $free_shipping = get_option('woocommerce_free_shipping_1_settings');
    $min_amount = $free_shipping['min_amount'];

    // Lấy tổng tiền trong giỏ hàng
    $current = WC()->cart->subtotal;

    // Chuỗi thông báo khi cần thêm sản phẩm để được miễn phí vận chuyển
    $thongbao_them_sp = '<div style="background-color: #F2F2F2;border-style: solid;border-width: 0px 0px 0px 3px;border-color: #7cd755;padding: 5px;margin: 15px 0 15px 0;">Chỉ cần thêm một sản phẩm trị giá ' . wc_price($min_amount - $current) . ' đơn hàng của bạn sẽ <span style="color:red;font-weight:600;">FREESHIP</span></div>';

    // Chuỗi thông báo khi đã được miễn phí vận chuyển
    $thongbao_da_fs = '<div style="background-color: #F2F2F2;border-style: solid;border-width: 0px 0px 0px 3px;border-color: #7cd755;padding: 5px;margin: 15px 0 15px 0;">Đơn hàng của bạn đã <span style="color:green;font-weight:600;">FREESHIP</span></div>';

    if ($current > 0) {
        // Kiểm tra nếu tổng tiền trong giỏ hàng đạt đủ miễn phí vận chuyển
        echo ($current >= $min_amount ? $thongbao_da_fs : $thongbao_them_sp);
    }
}

// Gọi hàm notice_freeship sau nút "Thêm vào giỏ hàng"
add_action('woocommerce_after_add_to_cart_button', 'notice_freeship');

và đây là kết quả

Trường hợp, giỏ hàng đã đủ điền kiện Freeship

Trường hợp anh em muốn thay đổi vị trí khác thì chỉ cần đổi đoạn “woocommerce_after_add_to_cart_button” trong code mẫu. Bạn có thể tham khảo vị trí theo hình bên dưới.

Khá đơn giản phải hông nào 😁 Chúc anh em thành công, nếu có bất kỳ câu hỏi nào thì hãy để lại bình luận mình sẽ giải đáp nhé!

Discuss