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