要在WooCommerce中无需插件来增加优惠券功能并限制或禁止给指定用户角色使用,您可以使用一些自定义代码来实现这个目标。您可以将以下代码添加到您的WordPress主题的functions.php

WooCommerce无插件增加优惠券功能,限定/禁止给指定用户角色(role)使用

文件中或使用一个自定义插件来管理自定义功能。请注意,在进行任何代码更改之前,务必备份您的网站数据。

以下是一个示例代码,它添加了一个名为custom_coupon的优惠券类型,并且只允许特定用户角色使用它(在此示例中,我们限制了只允许"customer"用户角色使用)。您可以根据自己的需求进行修改。

/
  添加自定义优惠券类型
 /
function custom_coupon_type($coupon_types) {
    $coupon_types['custom_coupon'] = __('自定义优惠券', 'woocommerce');
    return $coupon_types;
}
add_filter('woocommerce_coupon_discount_types', 'custom_coupon_type');

/
  检查用户角色是否允许使用自定义优惠券
 /
function check_custom_coupon_for_user($is_valid, $coupon) {
    // 获取当前用户的角色
    $current_user = wp_get_current_user();
    $user_roles = $current_user>roles;

    // 允许使用优惠券的用户角色(在此示例中为"customer")
    $allowed_roles = array('customer');

    // 如果用户角色在允许的角色列表中,返回 true,否则返回 false
    if (count(array_intersect($user_roles, $allowed_roles)) > 0) {
        return true;
    } else {
        return false;
    }
}
add_filter('woocommerce_coupon_is_valid', 'check_custom_coupon_for_user', 10, 2);

将上述代码添加到您的主题的functions.php文件中后,您可以在WooCommerce中创建自定义优惠券,并将其类型设置为"自定义优惠券"。然后,只有具有"customer"角色的用户才能使用这些优惠券。

请注意,这只是一个示例代码,您可以根据需要进行修改。如果您对编程不熟悉或不确定如何应用代码,请务必备份您的网站并考虑寻求专业开发人员的帮助。