WooCommerce - 隐藏支付网关

Posted

技术标签:

【中文标题】WooCommerce - 隐藏支付网关【英文标题】:WooCommerce - hide payment gateway 【发布时间】:2016-02-09 20:42:00 【问题描述】:

如何在 WooCommerce 上为特定客户隐藏支付网关插件,例如,如果客户的名字是 : Peter ,插件将不会显示给他。

例如: Woocommerce hide payment gateway for user roles

【问题讨论】:

【参考方案1】:

我希望这对你有用,如果仍然存在任何问题,请告诉我。

   function woo_disable_cod( $available_gateways ) 
        $current_user = wp_get_current_user();
        //check whether the avaiable payment gateways have Cash on delivery and user is not logged in or he is a user with role customer
        if ( isset($available_gateways['cod']) && ((current_user_can('customer') && $current_user->user_firstname == 'Peter' ) || ! is_user_logged_in() ) ) 

            //remove the paypal payment gateway from the available gateways.

             unset($available_gateways['paypal']);
         
         return $available_gateways;
    

    add_filter('woocommerce_available_payment_gateways', 'woo_disable_cod', 99, 1);

【讨论】:

感谢 Prafulla 的回复,不幸的是它对我不起作用。我绑定编辑代码但没有结果。 你能var_dump( $current_user );发布你得到了什么吗? 这对我有用,只需要适当地调整条件以适应我的情况,代码是正确的。

以上是关于WooCommerce - 隐藏支付网关的主要内容,如果未能解决你的问题,请参考以下文章

更改 Woocommerce 中默认选择的支付网关

Woocommerce 中特定支付网关的结帐附加字段

Woocommerce 提交到支付网关

使用重定向的 Woocommerce 自定义支付网关工作流程

WooCommerce:如果购物车总金额 = 0,则更改支付网关

WooCommerce 支付网关与 PayPal 等外部页面的集成