【问题标题】:how to set different minimum order amount for free shipping for different user roles in woocommerce如何为woocommerce中的不同用户角色设置不同的免费送货最低订单金额
【发布时间】:2015-08-16 04:51:07
【问题描述】:

我想为不同的用户角色设置不同的最低订单价格以实现免费送货。

我该如何实现它?

我目前正在使用以下代码。

add_filter( 'woocommerce_available_shipping_methods', 'filter_woocommerce_available_shipping_methods');

filter_woocommerce_available_shipping_methods()函数:

function filter_woocommerce_available_shipping_methods( $methods ) {

    global $woocommerce;
            get_currentuserinfo();
            global $current_user;
             $roles = $current_user->roles[0];
            if($roles == '')
                {
                    $roles = 'subscriber';
                }

    $shippingrate = new WC_Shipping_Rate();

    $shippingrate->id = 'free_shipping';

    $shippingrate->label = 'Kostenloser Versand';

    $shippingrate->cost = '0';

    $shippingrate->method_id = 'free_shipping';

     if ( $roles == 'corporate' && $woocommerce->cart->subtotal_ex_tax >= 50   )  {
      unset($methods);
      $methods = array();
      $methods['free_shipping'] = $shippingrate;
    }

   else if ( ( $roles == 'retail' && $woocommerce->cart->subtotal_ex_tax >= 80 ) || ( $roles == 'gastronomy' && $woocommerce->cart->subtotal_ex_tax >= 80) ) {
      unset($methods);
      $methods = array();
      $methods['free_shipping'] = $shippingrate;
    }

    else if( $roles == 'distributor' && $woocommerce->cart->subtotal_ex_tax >= 400 )  {
      unset($methods);
      $methods = array();
      $methods['free_shipping'] = $shippingrate;
    }

    else if( $roles == 'distributor' && $woocommerce->cart->subtotal_ex_tax >= 400 )  {
      unset($methods);
      $methods = array();
      $methods['free_shipping'] = $shippingrate;
    }

    else if( $roles == 'subscriber' && $woocommerce->cart->subtotal_ex_tax >= 45 )  {
      unset($methods);
      $methods = array();
      $methods['free_shipping'] = $shippingrate;
    }

    return $methods;
}

【问题讨论】:

    标签: php wordpress woocommerce


    【解决方案1】:

    您是否考虑过为此使用插件?我创建了一个可以配置条件的插件,包括基于用户角色。

    https://wordpress.org/plugins/woocommerce-advanced-free-shipping/

    【讨论】:

      猜你喜欢
      • 2014-12-22
      • 2020-11-26
      • 2020-05-11
      • 2016-11-05
      • 2021-07-09
      • 2015-02-17
      • 2019-07-29
      • 2021-07-05
      相关资源
      最近更新 更多