wordpress - 是否可以根据用户角色为 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;
}
我写了这个来禁用网关,但它们似乎没有工作。所有付款方式仍然可用。有没有更简单的方法来禁用支付网关?
解决方案
推荐阅读
- html - 仅当找到多个具有类的元素时才应用 CSS
- javascript - 第一次函数调用后没有输出任何内容 - Javascript
- amazon-web-services - AWS 数据传输成本:许多地区的小额费用
- python - 如何从 python 中的列表生成唯一数组?
- smtp - Gmail Api 计费方式
- reactjs - 上下文有问题
- spring-boot - 如何使用 spring-cloud-stream 监听两个 RabbitMQ 队列
- java - 如何将下面的代码转换为功能样式?
- scala - 如何改进 Spark Scala 中 Oracle 表的卸载
- google-signin - 我应该使用 GoogleIdToken (jwt) 还是将其替换为另一个服务器发布的 jwt?还有关于客户 ID(“aud”)的问题