Вы не можете отключить WooCommerce налога для конкретной роли пользователя программного , но вы можете применить для конкретной роли пользователя нулевой ставки налога.
Прежде всего, вам нужно, чтобы эта конкретная пользовательская роль была задана в worpress. Если это так, скажем, что эта пользовательская роль пользователя - 'resellers'
для моего примера кода.
Во-вторых, вы должны включить в WooCommerce настройки в нулевой ставки налога:
, а затем для каждой страны, вы должны установить этот нулевой ставки налога:
В-третьих, тогда эта функция подключена к 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
Большое спасибо, его работа. – Simanto
Что делать, если я хочу отключить для пользователя без входа? –
@LoicTheAztec «Нулевая скорость» отлично работает для простого продукта, но не работает для продукта Variation. Пожалуйста помоги – Simanto