Cum să limitezi metoda „Plata la livrare” în WooCommerce pentru comenzile de maxim 5000 lei

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ă?

  1. Accesează Panoul de administrare WordPress.
  2. Navighează la Aspect > Editor de fișiere al temei (Theme File Editor).
  3. Deschide fișierul functions.php din tema activă.
  4. 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ă.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

ro_RORomanian