În acest articol, vom implementa o funcționalitate care adaugă automat o taxă suplimentară pentru comenzile care au o valoare totală mai mică de 100 lei. Această funcționalitate este utilă pentru a acoperi costurile adiționale pentru comenzi mici.
Codul complet
Adaugă următorul cod în fișierul functions.php
al temei active sau într-un plugin personalizat:
// Adaugă o taxă suplimentară pentru comenzile sub 100 lei
add_action('woocommerce_cart_calculate_fees', 'add_handling_fee_for_small_orders');
function add_handling_fee_for_small_orders() {
if (is_admin() && !defined('DOING_AJAX')) {
return;
}
// Obține totalul coșului
$cart_total = WC()->cart->get_cart_contents_total();
// Adaugă taxa doar dacă totalul este sub 100 lei
if ($cart_total < 100) {
WC()->cart->add_fee(__('Taxă suplimentară', 'woocommerce'), 10);
}
}
Explicația codului
- Filtrul
woocommerce_cart_calculate_fees
- Acest filtru este utilizat pentru a adăuga taxe personalizate în WooCommerce.
- Funcția noastră este apelată de fiecare dată când se calculează totalul coșului de cumpărături.
- Validarea pentru administrație
- Codul verifică dacă este executat în backend sau într-o solicitare AJAX pentru a preveni suprascrierea.
- Calcularea taxei
- Funcția obține totalul coșului folosind metoda
WC()->cart->get_cart_contents_total()
. - Dacă totalul este mai mic de 100 lei, o taxă de 10 lei este adăugată la coș.
- Funcția obține totalul coșului folosind metoda
- Afișarea taxei
- Taxa apare automat în sumarul coșului de cumpărături și la checkout.
Avantaje
- Flexibilitate: Codul poate fi modificat pentru a seta alte praguri (de exemplu, 200 lei) sau alte valori ale taxei.
- Automatizare: Nu este nevoie de intervenția manuală pentru a adăuga taxa; aceasta se aplică automat atunci când criteriul este îndeplinit.
- Claritate pentru clienți: Taxa este afișată transparent în coș și la checkout.
Rezultat
După implementarea acestui cod, comenzile care au un total mai mic de 100 lei vor avea automat o taxă suplimentară de 10 lei adăugată. Această taxă va fi vizibilă pentru clienți în coșul de cumpărături și pe pagina de checkout.
Concluzie
Această metodă este utilă pentru a compensa costurile operaționale în cazul comenzilor mici. Implementarea este simplă și poate fi ajustată pentru a se potrivi cerințelor specifice ale magazinului tău WooCommerce.