WooCommerce este una dintre cele mai populare platforme de eCommerce pentru WordPress, iar flexibilitatea sa permite personalizări avansate prin cod. Dacă vrei să previi comenzile mari cu plata la livrare (Cash on Delivery – COD), acest articol îți arată cum poți face asta ușor și eficient.
🎯 Ce vrem să realizăm?
- Ascundem metoda de plată „Plata la livrare” dacă valoarea totală a coșului depășește o sumă maximă (ex. 5000 lei).
- Afișăm un mesaj de eroare pentru client în pagina de finalizare a comenzii (checkout).
🧩 Codul PHP necesar
Copiază și inserează următorul cod în fișierul functions.php
al temei active sau, ideal, într-un plugin personalizat:
// Adaugă o limită maximă pentru plata la livrare și afișează un mesaj pentru clienți
add_filter('woocommerce_available_payment_gateways', 'limit_cash_on_delivery_amount');
function limit_cash_on_delivery_amount($available_gateways) {
// Verifică dacă suntem în frontend și obiectul WC()->cart este disponibil
if (is_admin() || !is_checkout() || !WC()->cart) {
return $available_gateways;
}
// Verifică dacă totalul este setat și metoda COD este activă
if (isset($available_gateways['cod']) && WC()->cart->get_total('edit') > 5000) {
// Dezactivează metoda de plată la livrare
unset($available_gateways['cod']);
// Adaugă un mesaj de eroare pentru client
wc_add_notice('Plata la livrare este disponibilă doar pentru comenzile cu o valoare de maxim 5000 lei.', 'error');
}
return $available_gateways;
}
🛠️ Cum se aplică?
- Accesează Panoul de administrare WordPress.
- Navighează la Aspect > Editor de fișiere al temei (Theme File Editor).
- Deschide fișierul
functions.php
din tema activă. - Inserează codul de mai sus la finalul fișierului și salvează.
🔔 Atenție! E recomandat să folosești o child theme pentru a evita pierderea modificărilor la actualizarea temei.
🔎 Cum funcționează codul?
Funcția limit_cash_on_delivery_amount
este apelată atunci când sunt determinate metodele de plată disponibile. Se verifică dacă:
- Ne aflăm în frontend (nu în admin),
- Suntem pe pagina de checkout,
- Există o comandă în coș și totalul este mai mare de 5000 lei.
Dacă toate condițiile sunt îndeplinite, metoda „Plata la livrare” este eliminată, iar clientul primește un mesaj clar.
⚙️ Personalizare rapidă
🔁 Schimbă limita de sumă
Modifică această linie:
WC()->cart->get_total('edit') > 5000
Înlocuiește 5000
cu orice valoare dorești (ex. 1000
, 2000
etc.).
💬 Schimbă mesajul afișat
Poți personaliza mesajul de eroare:
wc_add_notice('Plata la livrare este disponibilă doar pentru comenzile cu o valoare de maxim 5000 lei.', 'error');
✅ Beneficii ale acestei soluții
- Previi comenzile riscante cu plată la livrare pentru sume mari.
- Experiență clară pentru client – știe de ce nu vede metoda COD.
- Implementare rapidă și curată, fără pluginuri suplimentare.
Prin acest cod simplu, îți poți proteja magazinul WooCommerce de riscurile asociate comenzilor mari cu plata la livrare. Este o soluție eficientă, discretă și complet personalizabilă.