php - 特定产品 ID 上每个用户角色的税级 "Zero rate"

标签 php wordpress woocommerce checkout cart

我得到了这个代码,无论他们订购什么,都可以对用户角色应用免税,这很好。

但现在我需要另一个用户角色来对特定产品 ID 应用免税,但我不确定如何实现。

我现在为特定用户角色的所有产品使用的免税代码是:

// Apply a different tax rate based on the user role.

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

if ( in_array( 'administrator', $current_user_data->roles ) || in_array( 'userrolename', $current_user_data->roles ) )
    $tax_class = 'Zero Rate';

return $tax_class;
}
add_filter( 'woocommerce_product_tax_class', 'wc_diff_rate_for_user', 1, 2 );
// Fin Apply a different tax rate based on the user role.

最佳答案

以下是将对某些定义的产品和某些定义的用户角色应用此“零税率”税级的代码:

add_filter( 'woocommerce_product_tax_class', 'wc_diff_rate_for_user', 1, 2 );
function wc_diff_rate_for_user( $tax_class, $product ) {

    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    // Define HERE your targeted products IDs
    $products_ids_arr = array(12 ,15, 24);

    // Define HERE your targeted user roles
    $users_role_arr = array('administrator', 'userrolename');

    //Getting the current user data
    $user_data = get_userdata(get_current_user_id());

    foreach ($users_role_arr as $user_role)
        if ( in_array( $user_role, $user_data->roles ) && in_array( $cart_item->id, $products_ids_arr ) ) {
            $tax_class = 'Zero Rate';
            break;
        }

    return $tax_class;

}

此代码已经过测试并且可以工作。

代码进入您的事件子主题(或主题)的任何 php 文件或任何插件 php 文件。

关于php - 特定产品 ID 上每个用户角色的税级 "Zero rate",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40871587/

相关文章:

php - WooCommerce 管理产品 "general data"邮箱问题

php - Docker-compose Nginx php-fpm 文件未找到

php - HTML + CSS 中的自动线条装饰

php - 字符串解析帮助

wordpress - 无法访问安装在 Docker 容器中的 Wordpress

php - Wordpress - get_search_form() 与图标在同一行

javascript - woocommerce 插件无法与 WordPress 主题配合使用的典型原因是什么?

php - 在PHP中将字符串拆分为数组的最快方法

php - 无法在 WordPress 仪表板中编辑自定义帖子类型

php - 自定义帖子类型中的 WooCommerce 产品