Note that woocommerce_cart_needs_payment is only used in WC_Checkout::process_checkout() to keep backwards compatibility. Use woocommerce_order_needs_payment instead. Note that at this point you can't rely on the Cart Object anymore, since it could be empty see: https://github.com/woocommerce/woocommerce/issues/24631
Notez que woocommerce_cart_needs_payment n'est utilisé que dans WC_Checkout::process_checkout() pour conserver la compatibilité ascendante. Utilisez plutôt woocommerce_order_needs_payment. Notez qu'à ce stade, vous ne pouvez plus compter sur l'objet Cart, car il peut être vide, voir : https://github.com/woocommerce/woocommerce/issues/24631
$order->needs_payment(
Sortie :
// Paiement nécessaire conditionnel
add_filter('woocommerce_cart_needs_payment', 'paiement_necessaire', 10, 2);
function paiement_necessaire($needs_payment, $cart) {
// Pas de paiement si total = 0 (coupons 100%)
if ($cart->get_total('') == 0) {
return false;
}
return $needs_payment;
}
Chargement des actualités...