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

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

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


www说
浏览 214回答 1
1回答

慕雪6442864

你可以使用woocommerce_package_rates钩子如果订单金额在 25 英镑到 50 英镑之间,运费将享受 50% 的折扣。function filter_woocommerce_package_rates( $rates, $package ) {&nbsp; &nbsp; /* Settings */&nbsp; &nbsp; $min = 25;&nbsp; &nbsp; $max = 50;&nbsp; &nbsp; $discount_percent = 50;&nbsp; &nbsp; // Get cart total&nbsp; &nbsp; $cart_total = WC()->cart->cart_contents_total;&nbsp; &nbsp; // Condition&nbsp; &nbsp; if ( $cart_total >= $min && $cart_total <= $max ) {&nbsp; &nbsp; &nbsp; &nbsp; // (Multiple)&nbsp; &nbsp; &nbsp; &nbsp; foreach ( $rates as $rate_key => $rate ) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Get rate cost&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $cost = $rates[$rate_key]->cost;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Set rate cost&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $rates[$rate_key]->cost = $cost - ( ( $cost * $discount_percent ) / 100 );&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }&nbsp; &nbsp; return $rates;}add_filter( 'woocommerce_package_rates', 'filter_woocommerce_package_rates', 10, 2 );
打开App,查看更多内容
随时随地看视频慕课网APP