1. Code hiện nút “Thêm vào giỏ hàng” cho sản phẩm 0 đồng (miễn phí)
Bạn gặp một vấn đề khá phổ biến khi bán sản phẩm miễn phí (giá 0đ) trên WooCommerce, đặc biệt khi dùng theme như Flatsome, vì mặc định WooCommerce hoặc theme có thể ẩn nút “Thêm vào giỏ hàng” nếu sản phẩm có giá là 0đ. Vì vậy, bạn cần dùng custom code để xử lý việc này.
Hãy thêm đoạn mã sau vào file functions.php của theme con (child theme) bạn đang dùng:
// Hiển thị nút thêm vào giỏ hàng cho sản phẩm có giá 0đ
add_filter('woocommerce_is_purchasable', 'allow_free_products_to_be_purchased', 10, 2);
function allow_free_products_to_be_purchased($purchasable, $product) {
if ($product->get_price() == 0) {
$purchasable = true;
}
return $purchasable;
}
Với sản phẩm biến thể, bạn cần thêm một chút nữa để đảm bảo tất cả biến thể 0đ cũng có thể mua được:
add_filter('woocommerce_variation_is_purchasable', 'allow_free_variations_to_be_purchased', 10, 2);
function allow_free_variations_to_be_purchased($purchasable, $variation) {
if ($variation->get_price() == 0) {
$purchasable = true;
}
return $purchasable;
}
2. Ẩn thông báo theme Flatsome

function hide_all_admin_notices() {
global $wp_filter;
// Check if the WP_Admin_Bar exists, as it's not available on all admin pages.
if (isset($wp_filter['admin_notices'])) {
// Remove all actions hooked to the 'admin_notices' hook.
unset($wp_filter['admin_notices']);
}
}
add_action('admin_init', 'hide_all_admin_notices');


