如何在WooCommerce中设置购物车满3件及以上享运费5折优惠?
WooCommerce购物车满3件商品运费5折实现方法
你可以通过添加自定义PHP代码实现这个需求,具体操作如下:
- 将以下代码添加到主题的
functions.php文件中,或者使用自定义功能插件存放代码(推荐后者,避免主题更新导致代码丢失):
add_filter( 'woocommerce_package_rates', 'custom_shipping_discount_for_3_items', 10, 2 ); function custom_shipping_discount_for_3_items( $rates, $package ) { // 获取购物车总商品数量 $cart_item_count = WC()->cart->get_cart_contents_count(); // 商品数量≥3时应用5折折扣 if ( $cart_item_count >= 3 ) { foreach ( $rates as $rate_key => $rate ) { // 跳过免费配送选项 if ( $rate->cost > 0 ) { // 运费打5折 $rates[$rate_key]->cost = $rate->cost * 0.5; // 税费同步打5折 if ( isset( $rates[$rate_key]->taxes ) && ! empty( $rates[$rate_key]->taxes ) ) { foreach ( $rates[$rate_key]->taxes as $tax_key => $tax_cost ) { $rates[$rate_key]->taxes[$tax_key] = $tax_cost * 0.5; } } } } } return $rates; }
- 代码说明:
- 借助
woocommerce_package_rates钩子修改配送费率 - 先判断购物车商品总数是否达标,再对非免费配送选项的运费及税费统一打5折
- 添加代码后,需在WooCommerce设置→系统状态→工具中清理配送缓存,确保规则生效
- 借助
内容的提问来源于stack exchange,提问作者user3408291
相关产品推荐
相关产品推荐

