Implementarea unei taxe de garanție pentru sticlele reciclabile în WooCommerce

YouTube Logo Urmărește canalul nostru de YouTube

Pentru a respecta legislația privind ambalajele reciclabile și a aplica o taxă de garanție pentru produsele din sticlă, putem implementa o soluție automatizată în WooCommerce. Această metodă permite administratorilor de magazin online să aplice o garanție de 0.50 RON per unitate pentru sticlele marcate ca fiind reciclabile.

1. Adăugarea unui câmp personalizat în pagina de administrare a produselor

Pentru a marca un produs ca fiind „Produs din sticlă”, adăugăm un câmp personalizat în setările generale ale produsului:

add_action('woocommerce_product_options_general_product_data', function() {
    woocommerce_wp_checkbox([
        'id' => '_is_glass_product',
        'label' => 'Produs din sticlă?',
        'description' => 'Bifează dacă acest produs conține sticlă și necesitată garanție de 0.50 RON per unitate.'
    ]);
});

2. Salvarea valorii câmpului personalizat

Pentru a salva opțiunea selectată de administrator în baza de date, adăugăm următorul cod:

add_action('woocommerce_process_product_meta', function($post_id) {
    $is_glass = isset($_POST['_is_glass_product']) ? 'yes' : 'no';
    update_post_meta($post_id, '_is_glass_product', $is_glass);
});

3. Aplicarea taxei de garanție în coșul de cumpărături

Acest cod verifică dacă produsul este marcat ca „sticlă” și aplică o taxă de 0.50 RON per unitate:

add_action('woocommerce_cart_calculate_fees', function() {
    if (is_admin() && !defined('DOING_AJAX')) return;

    $glass_fee = 0;
    
    foreach (WC()->cart->get_cart() as $cart_item) {
        $product_id = $cart_item['product_id'];
        $quantity = $cart_item['quantity'];
        
        $is_glass = get_post_meta($product_id, '_is_glass_product', true);
        
        if ($is_glass === 'yes') {
            $glass_fee += 0.50 * $quantity;
        }
    }

    if ($glass_fee > 0) {
        WC()->cart->add_fee('Garanție pentru ambalaj din sticlă', $glass_fee);
    }
}, 10, 1);

4. Afișarea mesajului de informare pe pagina produsului

Pentru a informa utilizatorii că acest produs include o taxă de garanție, afișăm un mesaj pe pagina produsului:

add_action('woocommerce_single_product_summary', function() {
    global $product;
    if (get_post_meta($product->get_id(), '_is_glass_product', true) === 'yes') {
        echo '<p style="color: red; font-weight: bold;">🔸 Acest produs necesitată garanție pentru ambalaj (0.50 RON per unitate).</p>';
    }
}, 25);

Beneficiile acestei implementări:

✅ Automatizează aplicarea garanției pentru produsele din sticlă

✅ Permite administratorilor să decidă individual pentru fiecare produs

✅ Respectă legislația și oferă transparență clienților

Această soluție simplifică procesul de gestionare a produselor reciclabile în WooCommerce și oferă o metodă clară pentru aplicarea taxei de garanție.

× YouTube Logo

🔔 Abonează-te la canalul nostru!

Primește cele mai noi tutoriale WordPress direct pe YouTube!

×