Установите другую ставку налога для конкретных продуктов и ролей пользователя в WooCommerce.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Установите другую ставку налога для конкретных продуктов и ролей пользователя в WooCommerce.

Сообщение Anonymous »

У меня проблема с налогами WooCommerce.
Мне нужно добавить новый налог в размере 8 % перед общей ценой к определенным продуктам только для определенной роли «различный_пользователь».
Другие продукты уже включают в себя другие налоги, которые указаны перед окончательной ценой, а затем добавляются к ней.
Важно, чтобы этот налог не влиял на другие налоги или скидки. уже добавлен в WooCommerce.

Impuesto

2,20





Мне удалось добавить налог к ​​нужным мне продуктам с помощью add_action через их «ID», и это работает.
Но это показано в другой строке:

Ajuste de impuestos adicionales


0,38€





Как мне добавить этот налог к ​​тем налогам, которые у меня уже есть в WooCommerce, а не показывать в новой строке?
У меня есть пробовал несколько раз, но меня это очень смущает, я не могу понять, как WooCommerce работает с налогами.
Я мог бы напрямую добавить новую ставку налога в WooCommerce, но поскольку это только наверняка продукты, я не могу этого сделать, и меня заблокировали
Вот результат:
Изображение

// Hook to modify taxes based on products and user roles
add_action('woocommerce_cart_calculate_fees', 'add_custom_tax_to_selected_products', 20, 1);

function add_custom_tax_to_selected_products($cart) {
// Check if it is admin or AJAX request, and avoid executing the code in that case
if (is_admin() && !defined('DOING_AJAX')) {
return;
}

// Check if the user has the role 'different_user'
if (!current_user_can('usuario_diferente')) {
return;
}

// IDs of products that should receive the 8% tax
$product_ids_with_tax = array(355, 625);

// Variable to store the total additional tax
$tax_amount = 0;

//Iterate over the products in the cart
foreach ($cart->get_cart() as $cart_item_key => $cart_item) {
$product_id = $cart_item['product_id'];

// Check if the product is on the list of products with additional tax
if (in_array($product_id, $product_ids_with_tax)) {
//Calculate 8% of the subtotal of this product
$item_total = $cart_item['line_total']; // Total price of the product in the cart without taxes
$tax_amount += ($item_total * 0.08); // Add 8% of the total price of that product
}
}

// If there is a tax amount to add, we add it to the total taxes
if ($tax_amount > 0) {

$cart->add_fee( __('Ajuste de impuestos adicionales', 'woocommerce'), $tax_amount, true, '' );
}
}



Подробнее здесь: https://stackoverflow.com/questions/790 ... oocommerce
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»