【问题标题】:Hide specific shipping methods for a specific user roles in Woocommerce在 Woocommerce 中隐藏特定用户角色的特定运输方式
【发布时间】:2019-03-15 17:56:08
【问题描述】:

在 Woocommerce 中,我使用 WooCommerce Wholesale Pro Suite (来自 IgniteWoo) 和统一费率 Box Shipping 插件将 B2B 添加到我们的电子商店。

我正在尝试为特定的用户角色、客人和客户禁用统一费率箱式运输。我在网上搜索后找到了这段代码:

add_filter( 'woocommerce_package_rates', 'hide_shipping_for_user_role', 10, 2 );
function hide_shipping_for_user_role( $rates, $package ) {
// Role ID to be excluded
$excluded_role = "wholesale_customer";

// Shipping rate to be excluded
$shipping_id = 'table_rate_shipping_free-shipping';

// Get current user's role
$user = wp_get_current_user();
if ( empty( $user ) ) return false;

if( in_array( $excluded_role, (array) $user->roles ) && isset( $rates[ $shipping_id ] ) )
unset( $rates[ $shipping_id ] );

return $rates;
}

我应该使用什么来代替“wholesale_customer”和“table_rate_shipping_free-shipping”,这样就不会为客人和客户角色显示统一运费箱运费?

感谢任何帮助。

【问题讨论】:

    标签: php wordpress woocommerce user-roles shipping-method


    【解决方案1】:

    更新 2:

    您可能需要在“配送选项”标签下的常规配送设置中“启用调试模式”,才能暂时禁用配送缓存。

    供参考:“统一运费箱”的送货方式 ID 是 flat_rate_boxes

    以下代码将禁用“Guests”(未登录用户)和“customer”用户角色的“Flat rate box”运输方式:

    add_filter( 'woocommerce_package_rates', 'hide_specific_shipping_method_based_on_user_role', 30, 2 );
    function hide_specific_shipping_method_based_on_user_role( $rates, $package ) {
    
        ## --- Your settings --- ##
        $excluded_role = "customer"; // User role to be excluded
        $shipping_id = 'flat_rate_boxes'; // Shipping rate to be removed
    
        foreach( $rates as $rate_key => $rate ){
            if( $rate->method_id === $shipping_id ){
                if( current_user_can( $excluded_role ) || ! is_user_logged_in() ){
                    unset($rates[$rate_key]);
                    break;
                }
            }
        }
        return $rates;
    }
    

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

    不要忘记启用回运缓存。

    【讨论】:

      猜你喜欢
      • 2018-09-08
      • 2019-10-17
      • 2018-03-22
      • 2014-05-26
      • 2019-01-17
      • 2018-07-10
      • 2020-10-03
      • 2021-06-24
      相关资源
      最近更新 更多