// +1,00 € / kos, če je izbrano "GRAVURA / TISK" (samo v določenih kategorijah) add_action('woocommerce_cart_calculate_fees', function ($cart) { if (is_admin() && !defined('DOING_AJAX')) return; // Slugi tvojih kategorij (po potrebi prilagodi): $target_cat_slugs = ['elektronika','pisarna','moleskine']; $attr_tax_slug = 'pa_moznost-personalizacije'; // Slug termina bo v WooCommerce skoraj zagotovo 'gravura-tisk' // (ker se iz imena "GRAVURA / TISK" naredi slug brez znakov). $charge_term_slugs = ['gravura-tisk']; $surcharge_each = 1.00; $taxable = true; $total_fee = 0; foreach ($cart->get_cart() as $item) { $product = $item['data']; $pid = $product->get_id(); if (!has_term($target_cat_slugs, 'product_cat', $pid)) { continue; } // pri variabilnem izdelku WOO v $item['variation'][taxonomy] shrani SLUG termina $chosen_slug = ''; if (!empty($item['variation'][$attr_tax_slug])) { $chosen_slug = strtolower(sanitize_title($item['variation'][$attr_tax_slug])); } else { continue; } if (in_array($chosen_slug, $charge_term_slugs, true)) { $total_fee += $surcharge_each * (int) $item['quantity']; } } if ($total_fee > 0) { $cart->add_fee(__('GRAVURA / TISK', 'dk'), $total_fee, $taxable); } });