Oferirea de reduceri pe cantitate este o strategie excelentă pentru creșterea vânzărilor în WooCommerce. Acest articol îți arată cum să implementezi reduceri automate pentru produsele selectate, astfel încât clienții să beneficieze de prețuri mai bune atunci când cumpără mai multe bucăți.
Ce vom face?
✔️ Afișăm un tabel pe pagina produsului cu reducerile disponibile.
✔️ Aplicăm automat reducerea în coș și la finalizarea comenzii.
✔️ Personalizăm lista produselor care beneficiază de reducere.
1. Afișarea unui Tabel cu Reduceri în Pagina Produsului
Primul pas este să afișăm un tabel în pagina produsului pentru a informa utilizatorii despre reducerile disponibile. Acest cod adaugă un tabel de prețuri dinamice, care se va afișa doar pentru produsele eligibile.
📌 Cod pentru afișarea tabelului:
add_action('woocommerce_before_add_to_cart_form', 'display_bulk_discount_table', 10);
function display_bulk_discount_table() {
global $product;
$eligible_products = array(27538); // ID-urile produselor eligibile
if (in_array($product->get_id(), $eligible_products)) {
$price = $product->get_price(); // Prețul de bază al produsului
// Calculăm reducerile
$price_3_4 = $price - ($price * 0.02); // 2% reducere pentru 3-4 bucăți
$price_5_plus = $price - ($price * 0.05); // 5% reducere pentru 5+ bucăți
echo '<div style="margin-bottom: 15px; padding: 10px; border: 1px solid #ddd; border-radius: 5px;">';
echo '<p style="font-weight: bold; text-align: center; margin-bottom: 8px;">📢 Reduceri în funcție de cantitate</p>';
echo '<table style="width: 100%; border-collapse: collapse; font-size: 14px;">';
echo '<tr style="background: #f8f8f8; text-align: center;">';
echo '<th style="border: 1px solid #ddd; padding: 5px;">Cantitate</th>';
echo '<th style="border: 1px solid #ddd; padding: 5px;">Preț/Bucată</th>';
echo '</tr>';
echo '<tr style="text-align: center;">';
echo '<td style="border: 1px solid #ddd; padding: 5px;">1-2 buc.</td>';
echo '<td style="border: 1px solid #ddd; padding: 5px;">' . wc_price($price) . '</td>';
echo '</tr>';
echo '<tr style="text-align: center;">';
echo '<td style="border: 1px solid #ddd; padding: 5px;">3-4 buc.</td>';
echo '<td style="border: 1px solid #ddd; padding: 5px; color: green; font-weight: bold;">' . wc_price($price_3_4) . '</td>';
echo '</tr>';
echo '<tr style="text-align: center;">';
echo '<td style="border: 1px solid #ddd; padding: 5px;">5+ buc.</td>';
echo '<td style="border: 1px solid #ddd; padding: 5px; color: green; font-weight: bold;">' . wc_price($price_5_plus) . '</td>';
echo '</tr>';
echo '</table>';
echo '</div>';
}
}
🔹 Cum funcționează?
✅ Se verifică dacă produsul este în lista celor eligibile.
✅ Se calculează reducerile pentru 3-4 bucăți (2%) și 5+ bucăți (5%).
✅ Se afișează un tabel stilizat cu reducerile disponibile.
2. Aplicarea Reducerii în Coș și la Finalizarea Comenzii
Acum trebuie să ne asigurăm că reducerile sunt aplicate automat în coș și în pagina de checkout.
📌 Cod pentru aplicarea reducerii:
add_action('woocommerce_cart_calculate_fees', 'apply_bulk_discount_in_cart');
function apply_bulk_discount_in_cart($cart) {
if (is_admin() && !defined('DOING_AJAX')) return;
$discount = 0;
$eligible_products = array(27538); // ID-urile produselor eligibile
foreach ($cart->get_cart() as $cart_item) {
$product_id = $cart_item['product_id'];
$qty = $cart_item['quantity'];
$subtotal = $cart_item['line_total']; // Totalul pentru acel produs
if (in_array($product_id, $eligible_products)) {
if ($qty >= 3 && $qty < 5) {
$reducere = $subtotal * 0.02; // 2% reducere
} elseif ($qty >= 5) {
$reducere = $subtotal * 0.05; // 5% reducere
} else {
$reducere = 0;
}
$discount += $reducere;
// Debugging: verifică reducerea în log
error_log("Produs ID: $product_id, Cantitate: $qty, Subtotal: $subtotal, Reducere aplicată: $reducere RON");
}
}
if ($discount > 0) {
$cart->add_fee('💰 Reducere pentru cantitate', -$discount, true, '');
}
}
🔹 Cum funcționează?
✔️ Verifică fiecare produs din coș și dacă face parte din produsele eligibile.
✔️ Aplică reducerea de 2% pentru 3-4 bucăți și 5% pentru 5+ bucăți.
✔️ Afișează reducerea direct în coș și în pagina de checkout.
🎯 Concluzie
Prin implementarea acestui cod, clienții vor vedea clar reducerile înainte de a cumpăra și vor primi discount-ul automat în coș. Acest lucru îmbunătățește conversiile și oferă o experiență mai bună utilizatorilor.
💡 Bonus: Poți extinde funcționalitatea pentru a adăuga mai multe nivele de reduceri sau să aplici discount-uri doar pentru utilizatorii autentificați.
📌 Testează acest cod și vezi cum îți crește rata de conversie! 🚀