1. Tổng Quan Chức Năng Ngăn Chặn Áp Dụng Mã Giảm Giá
Trong WooCommerce, mã giảm giá là công cụ mạnh mẽ để thúc đẩy doanh số và thu hút khách hàng. Tuy nhiên, trong một số trường hợp đặc biệt, bạn có thể muốn ngăn chặn áp dụng mã giảm giá cho một số danh mục sản phẩm cụ thể. Điều này rất quan trọng khi bạn muốn kiểm soát chặt chẽ việc sử dụng mã giảm giá, tránh làm ảnh hưởng đến lợi nhuận của các sản phẩm hoặc danh mục có biên lợi nhuận thấp, hoặc các sản phẩm đang trong chương trình khuyến mãi khác.
Trong bài viết này, chúng tôi sẽ hướng dẫn cách tạo hàm ngăn chặn áp dụng mã giảm giá cho các danh mục sản phẩm cụ thể và tùy chỉnh mã WooCommerce để phù hợp với nhu cầu kinh doanh của bạn. Bạn không cần phải cài thêm bất kỳ plugin nào mà chỉ cần thực hiện vài tùy chỉnh nhỏ trong mã nguồn của trang web.

2.Cách Tạo Hàm Ngăn Chặn Áp Dụng Mã Giảm Giá Cho Danh Mục Sản Phẩm Cụ Thể
Để ngăn chặn mã giảm giá áp dụng cho một số danh mục sản phẩm, bạn cần thêm một đoạn mã tùy chỉnh vào tệp functions.php trong theme của bạn. Đây là một cách an toàn và dễ thực hiện trong WooCommerce mà không cần sử dụng plugin.
Bước 1: Truy cập vào tệp functions.php
Đầu tiên, bạn cần truy cập vào tệp functions.php của theme đang hoạt động:
- Đăng nhập vào bảng điều khiển quản trị WordPress.
- Điều hướng đến Giao diện > Sửa giao diện (Appearance > Theme Editor).
- Chọn tệp functions.php trong danh sách tệp theme
Bước 2: Thêm mã tùy chỉnh để ngăn mã giảm giá
Sau đó, bạn thêm đoạn mã dưới đây vào cuối tệp functions.php của theme. Đoạn mã này sẽ ngăn chặn áp dụng mã giảm giá cho các sản phẩm thuộc các danh mục cụ thể:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <span style="color: #000000;">add_action('woocommerce_coupon_is_valid', 'muathemewpgiare_exclude_coupon_for_specific_categories', 10, 2); function muathemewpgiare_exclude_coupon_for_specific_categories($valid, $coupon) { // Danh sách mã giảm giá được ngoại lệ $excluded_coupons = array('muathemewpgiare1', 'muathemewpgiare2'); // Thay 'MAKHUYENMAI1', 'MAKHUYENMAI2' bằng mã giảm giá ngoại lệ mới // Danh sách ID của danh mục không cho phép áp dụng mã giảm giá $excluded_categories = array('12', '34'); // Thay '12', '34' bằng ID của các danh mục cần ngăn // Nếu mã giảm giá thuộc danh sách ngoại lệ, không cần kiểm tra tiếp if (in_array($coupon->get_code(), $excluded_coupons)) { return $valid; } // Kiểm tra nếu có sản phẩm trong giỏ hàng thuộc danh mục bị ngăn foreach (WC()->cart->get_cart() as $cart_item) { if (has_term($excluded_categories, 'product_cat', $cart_item['product_id'])) { wc_add_notice(__('Mã giảm giá không được áp dụng cho một số sản phẩm trong giỏ hàng.'), 'error'); return false; // Không cho phép áp dụng mã giảm giá } } // Kiểm tra tổng giá trị giỏ hàng trước khi áp dụng mã giảm giá (ví dụ: phải trên 500.000 VND) $minimum_cart_total = 500000; // Giá trị tối thiểu để áp dụng mã giảm giá if (WC()->cart->get_total('') < $minimum_cart_total) { wc_add_notice(__('Giỏ hàng của bạn phải có tổng giá trị trên 500.000 VND để áp dụng mã giảm giá này.'), 'error'); return false; // Không cho phép áp dụng mã giảm giá } // Kiểm tra số lượng sản phẩm tối thiểu để áp dụng mã giảm giá (ví dụ: phải mua ít nhất 3 sản phẩm) $minimum_product_count = 3; if (WC()->cart->get_cart_contents_count() < $minimum_product_count) { wc_add_notice(__('Bạn phải mua ít nhất 3 sản phẩm để áp dụng mã giảm giá này.'), 'error'); return false; // Không cho phép áp dụng mã giảm giá } return $valid; } </span> |
Bước 3: Thay thế ID danh mục sản phẩm
Trong đoạn mã trên, thay 12 và 34 bằng ID của các danh mục sản phẩm mà bạn muốn ngăn chặn mã giảm giá áp dụng. Bạn có thể tìm ID danh mục sản phẩm bằng cách điều hướng đến Sản phẩm > Danh mục trong bảng điều khiển WordPress và tìm ID của danh mục trong URL khi chỉnh sửa danh mục.
Bước 4: Lưu tệp functions.php
Sau khi thêm đoạn mã và thay thế ID danh mục, bạn nhấp vào Lưu tệp (Save File) để lưu các thay đổi.
4. Giải Thích Chi Tiết
- Hàm
muathemewpgiare_exclude_coupon_for_specific_categories
: Được sử dụng để kiểm tra điều kiện áp dụng mã giảm giá. - Danh sách mã giảm giá ngoại lệ (
$excluded_coupons
): Cập nhật tên mã giảm giá thành muathemewpgiare1 và muathemewpgiare2. Nếu mã giảm giá nằm trong danh sách này, hàm sẽ cho phép áp dụng mà không cần kiểm tra thêm. - Danh sách danh mục bị ngăn (
$excluded_categories
): Tùy chỉnh ID danh mục không được áp dụng mã giảm giá, giúp bạn linh hoạt trong việc cấu hình sản phẩm. - Thông báo (
wc_add_notice
): Thêm thông báo lỗi cụ thể khi mã giảm giá không được áp dụng, giúp người dùng hiểu rõ nguyên nhân. - Kiểm tra tổng giá trị giỏ hàng: Đoạn mã bổ sung chức năng kiểm tra tổng giá trị giỏ hàng trước khi áp dụng mã giảm giá. Ở đây, giỏ hàng phải có tổng giá trị trên 500.000 VND mới được áp dụng mã giảm giá.
- Kiểm tra số lượng sản phẩm tối thiểu: Đảm bảo rằng giỏ hàng phải có ít nhất 3 sản phẩm để áp dụng mã giảm giá. Điều này hữu ích khi bạn muốn khuyến khích khách hàng mua nhiều hơn.
5.Hoạt động của đoạn mã
Khi một khách hàng cố gắng sử dụng mã giảm giá cho các sản phẩm thuộc danh mục mà bạn đã chỉ định, họ sẽ nhận được thông báo lỗi với nội dung: “Mã giảm giá không áp dụng cho một số sản phẩm trong giỏ hàng của bạn”. Mã giảm giá sẽ bị vô hiệu hóa cho giỏ hàng chứa các sản phẩm thuộc danh mục đã ngăn chặn.
Xem thêm:Hướng dẫn cách làm khung khuyến mãi giống muathemewp cực đẹp
6.Tùy chỉnh theo nhu cầu của bạn
Nếu bạn muốn tùy chỉnh thông báo lỗi hoặc mở rộng chức năng của đoạn mã, bạn có thể điều chỉnh theo ý muốn. Ví dụ, bạn có thể thay đổi thông báo lỗi bằng cách chỉnh sửa nội dung bên trong wc_add_notice
.
Ngoài ra, nếu bạn muốn ngăn chặn một số mã giảm giá cụ thể chỉ áp dụng cho các sản phẩm trong danh mục được loại trừ, bạn có thể mở rộng logic kiểm tra của đoạn mã để phù hợp với nhu cầu cụ thể của doanh nghiệp.
7. Kết Luận
Với đoạn mã trên, bạn có thể dễ dàng ngăn chặn việc áp dụng mã giảm giá cho các danh mục sản phẩm cụ thể trong WooCommerce. Đồng thời, bạn có thể bổ sung thêm nhiều điều kiện khác như tổng giá trị giỏ hàng tối thiểu hay số lượng sản phẩm tối thiểu để khách hàng có thể sử dụng mã giảm giá.
Bằng cách áp dụng những tùy chỉnh này, bạn có thể quản lý hiệu quả hơn các chiến dịch khuyến mãi, tránh việc lạm dụng mã giảm giá và tạo ra các điều kiện hấp dẫn để khuyến khích khách hàng mua sắm.
Hy vọng bài viết này đã giúp bạn dễ dàng tích hợp chức năng ngăn chặn mã giảm giá cho các danh mục sản phẩm trong WooCommerce. Nếu có thắc mắc, đừng ngần ngại để lại bình luận để chúng ta cùng thảo luận thêm nhé. Cảm ơn các bạn đã ủng hộ!
- Chiến Lược Phát Triển SEO Top 1 Google 2025 Dành Cho Người Mới
- Hướng Dẫn Tạo Popup Đăng Nhập Thành Công Bằng SweetAlert2 Trong WordPress
- Có Nên Dùng ChatGPT Để Viết Bài Và Content Cho Website?
- TOP 10 Theme WordPress Hot Nhất Năm 2024 và Dự Kiến Bùng Nổ 2025
- Website bảo hành trọn đời có thật không? Hay là chiêu trò của những đơn vị làm website