4
25/11/2024 12:31 pm
Inicio del tema
Tengo una tienda online WooCommerce y para una categoría en particular (libros electrónicos) quiero eliminar el método de pago contra reembolso (cod).
¿Cómo puedo hacerlo con un código en functions.php?
¡Gracias, Sam!
2 respuestas
3
25/11/2024 12:36 pm
Aquí está el código de mi amigo (ponerlo en functions.php en su tema infantil):
function custom_payment_gateway_for_product_category($available_gateways) { if (is_admin()) return $available_gateways; // Define the product category or tag ID $target_category = 'example-category'; // Replace with your category slug // Get the items in the cart foreach (WC()->cart->get_cart() as $cart_item) { $product_id = $cart_item['product_id']; // Check if the product belongs to the target category if (has_term($target_category, 'product_cat', $product_id)) { // Allow only specific payment gateway(s) and disable others unset($available_gateways['cod']); // Disable Cash on Delivery (COD) // You can unset other gateways similarly, if needed } } return $available_gateways; } add_filter('woocommerce_available_payment_gateways', 'custom_payment_gateway_for_product_category');