Отключить налог программно для определенной роли пользователя
На моем веб-сайте woocommerce я включил Налог в общих настройках WooCommerce.
Я хотел бы отключить налог для определенной роли пользователя программно (с любыми зацепками), из моего магазина, со страницы оформления заказа и из электронного письма заказа.
Как я мог этого добиться?
Спасибо
1 ответ
Вы не можете отключить налог 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 );
Вам просто нужно будет поставить вместо "посредников" желаемую роль пользователя.
Этот код находится в файле function.php вашей активной дочерней темы (или темы), а также в любом файле плагина.
Этот код протестирован и полностью функционален.