繁体   English   中英

基于 WooCommerce 订单总额的运费百分比折扣

[英]Percentage discount on shipping based on order total in WooCommerce

我正在尝试通过插件或函数找到一种方法。php 如果订单在 25 到 50 英镑之间,如何仅将运费折扣 50%。

我正在使用“在 Woocommerce 中为本地取货运输方式设置百分比折扣”,该折扣基于运输方式,但我希望它对所有运输方式进行折扣,因为我们有很多运输方式,并且没有最低订单规则。

  • 您可以使用woocommerce_package_rates挂钩

  • 如果订单在 25 英镑到 50 英镑之间,这将为运费提供 50% 的折扣。

function filter_woocommerce_package_rates( $rates, $package ) {
    /* Settings */
    $min = 25;
    $max = 50;
    $discount_percent = 50;

    // Get cart total
    $cart_total = WC()->cart->cart_contents_total;

    // Condition
    if ( $cart_total >= $min && $cart_total <= $max ) {
        // (Multiple)
        foreach ( $rates as $rate_key => $rate ) {
            // Get rate cost            
            $cost = $rates[$rate_key]->cost;
            
            // Set rate cost
            $rates[$rate_key]->cost = $cost - ( ( $cost * $discount_percent ) / 100 );
        }
    }

    return $rates;
}
add_filter( 'woocommerce_package_rates', 'filter_woocommerce_package_rates', 10, 2 );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM