首页 > 解决方案 > 是否可以根据用户角色为 WooCommerce 提供特定的支付网关?

问题描述

我有一个使用 wordpress、elementor 和 WooCommerce 的店面。我的客户必须事先注册并被分为 2 个不同的部分:使用 Stripe 付款或在 30 天内通过支票付款。我正在使用允许我添加新角色的插件“成员”。

我想根据角色限制哪些支付网关是可能的。因此,带有“Customer-Stripe”的客户不能用支票付款,“Customer-Cheque”不能用条纹付款。

add_filter( 'woocommerce_available_payment_gateways', 'disablePaymentOptionsBasedOnRole'); 
function disablePaymentOptionsBasedOnRole( $available_gateways ) {  
    if( is_admin() ) 
        return $available_gateways;
    else{
        if (current_user_can( 'Customer-Stripe' ) ){
            unset( $available_gateways['cheque'] );
        }
        if (current_user_can( 'Customer-Cheque' ) ) {
            unset( $available_gateways['stripe'] );
        }
    }
    return $available_gateways;
}

我写了这个来禁用网关,但它们似乎没有工作。所有付款方式仍然可用。有没有更简单的方法来禁用支付网关?

标签: wordpresswoocommerceelementor

解决方案


推荐阅读