Hôm nay mình sẽ chia sẻ cho anh em cách để set up freeship cho đơn hàng với các điều kiện như giá trị đơn hàng tối thiểu, số lượng đặt hàng tối thiểu, mã giảm giá v.v
Để có thể làm được việc đó các anh em set up như nội dung dưới đây giúp mình nhé.
Đầu tiên chúng ta vào woocommerce>cài đặt>giao hàng
Sau đó sẽ tiến hành thêm khu vực giao hàng
Ở bước này mình sẽ setup như sau, đối với khu vực giao hàng thì mình áp dụng toàn Việt Nam, các bạn muốn áp dụng khu vực nào thì tùy chọn khu vực đó nhé.
Sau đó các bạn click vào thêm phương thức giao hàng và set up như hình dưới đây nhé.
Sau đó các bạn tiến hành sửa lại phương thức giao hàng nhé.
Tùy thuộc vào nhu cầu của các bạn mà mình lựa chọn điều kiện nhé, ở đây mình sẽ chọn “Giá trị đơn hàng tối thiểu hoặc một phiếu ưu đãi” để test, còn các bạn muốn chọn gì cũng được.
Như vậy là xong, các bạn có thể test, nếu như đơn hàng của mình lớn hơn 500k thì được freeship và ngược lại.
Như vậy là xong, để có thể hiển thị thông báo trong giỏ hàng thì các bạn có thể follow code dưới này của mình nhé.
Demo
DEMO là bản mình làm cho khách, nên sẽ đặc biệt hơn bản mình chia sẻ, các bạn có nhu cầu thì inbox mình nhé.
Mình sẽ viết 1 function và hook nó vào hook trong giỏ hàng. Hook mình sẽ sử dụng là
Đầu tiên các bạn lấy giúp mình cái ID của phương thức giao hàng nhé.
Để có thể lấy được thì có 2 cách, 1 là vào phpmyadmin cách này chắc mình k share mắc công các bạn lại phá database mệt lắm ^^. Mình sẽ chỉ cách hover chuột vào phương thức giao hàng.
Sau đó các bạn bỏ nó vào cái này giúp mình
Sau đó các bạn dán đoạn function này vào file Functions.php nhé
function notice_freeship(){
global $woocommerce;
$free_shipping = get_option( 'woocommerce_free_shipping_1_settings' );
$min = $free_shipping['min_amount'];
$p = wc_price($free_shipping['min_amount']);
echo '<div class="text-center pt-title">Đơn hàng trên '.$p.' bạn sẽ được <span class="t">FREESHIP</span></div>';
}
add_action('woocommerce_before_mini_cart_contents','notice_freeship');
Và 1 chút CSS
<style>
.pt-title .t{
font-size: 18px;
font-weight: bold;
color: red;
}
</style>
Và kết quả cuối cùng là
Chúc các bạn thành công, có bất kì câu hỏi nào thì đặt cho mình nhé.
A kiểm tra lại code giúp e với ạ. E test nó bị lỗi ạ
Lỗi ntn bạn, vì mình kiểm tra thì thấy vẫn hoạt động bt