2016-10-11 2 views
2

На моем веб-сайте woocommerce у меня есть Включить налог в общих настройках WooCommerce.Отключить налог программно для определенной роли пользователя

Я хотел бы отключить налог для определенной роли пользователя программным способом (с любыми крючками), из моего магазина, страницы оформления и электронной почты заказа.

Как я мог достичь этого?

Благодаря

ответ

4

Вы не можете отключить WooCommerce налога для конкретной роли пользователя программного , но вы можете применить для конкретной роли пользователя нулевой ставки налога.

Прежде всего, вам нужно, чтобы эта конкретная пользовательская роль была задана в worpress. Если это так, скажем, что эта пользовательская роль пользователя - 'resellers' для моего примера кода.

Во-вторых, вы должны включить в WooCommerce настройки в нулевой ставки налога:

enter image description here

, а затем для каждой страны, вы должны установить этот нулевой ставки налога:

enter image description here

В-третьих, тогда эта функция подключена к woocommerce_product_tax_class будет делать трюк:

function zero_rate_for_custom_user_role($tax_class, $product) { 
    // Getting the current user 
    $current_user = wp_get_current_user(); 
    $current_user_data = get_userdata($current_user->ID); 

    // <== <== <== <== <== <== <== Here you put your user role slug 
    if (in_array('resellers', $current_user_data->roles)) 
     $tax_class = 'Zero Rate'; 

    return $tax_class; 
} 
add_filter('woocommerce_product_tax_class', 'zero_rate_for_custom_user_role', 1, 2); 

Вам просто нужно будет поставить вместо «перепродавцы» нужной роли пользователя слизня.

Этот код поставляется в файле functions.php вашей активной дочерней темы (или темы), а также в любом файле плагина.

Этот код протестирован и полностью работоспособен.

Код: WooCommerce - Enabling "Zero rate" tax class to some specific user roles

+0

Большое спасибо, его работа. – Simanto

+0

Что делать, если я хочу отключить для пользователя без входа? –

+0

@LoicTheAztec «Нулевая скорость» отлично работает для простого продукта, но не работает для продукта Variation. Пожалуйста помоги – Simanto

Смежные вопросы