如何在 WooCommerce 中为未登录用户禁用特定插件?

Posted

技术标签:

【中文标题】如何在 WooCommerce 中为未登录用户禁用特定插件?【英文标题】:How to disable a specific plugin for unlogged users in WooCommerce? 【发布时间】:2019-08-23 02:16:25 【问题描述】:

我正在尝试为未登录的用户禁用WooCommerce PayPal Checkout Payment Gateway。我该怎么做?

【问题讨论】:

【参考方案1】:

更新 - 以下内容将为未登录用户禁用 Paypal Checkout 支付网关:

add_filter( 'woocommerce_available_payment_gateways', 'conditionally_disable_paypal_payment_gateways', 10, 1 );
function conditionally_disable_paypal_payment_gateways( $available_gateways ) 
    if ( is_admin() ) return $available_gateways; // Only on frontend

    // Loop through payment gateways
    foreach( $available_gateways as $gateways_id => $gateways )
        if ( ! is_user_logged_in() && $gateways_id === 'ppec_paypal' ) 
            unset($available_gateways[$gateways_id]);
        
    
    return $available_gateways;

代码在您的活动子主题(或活动主题)的functions.php 文件中。经过测试并且可以工作。

对于 Woocommerce 默认的 Paypal 支付网关,将 'ppec_paypal' 替换为 'paypal'

【讨论】:

以上是关于如何在 WooCommerce 中为未登录用户禁用特定插件?的主要内容,如果未能解决你的问题,请参考以下文章

未登录用户 Woocommerce,重定向

如何在 AngularJS 中为未定义的表达式值显示占位符?

如何在 Flutter 中为未选择的选项卡添加下划线?

禁用在Woocommerce中编辑特定的管理员自定义字段

当用户在 WooCommerce 中登录/注销时,如何防止清空购物车?

在 WooCommerce 中为特定用户角色创建订单时添加额外的客户注释