WooCommerce购物车添加“还差x件即可免运费”提示的实现方法
WooCommerce 购物车免运费提示功能实现方法
适配单件商品1kg、总重满2kg(即2件及以上)免运费的站点规则,可在购物车顶部展示还差多少件可免运费的提示,修正了原参考代码的调用错误、文案不匹配问题,实现代码如下,直接添加到当前WordPress主题的functions.php文件末尾,或自定义代码片段插件中即可生效:
add_action( 'woocommerce_before_cart', 'free_shipping_cart_notice' ); function free_shipping_cart_notice() { // 免运费门槛总重量(单位:kg) $free_shipping_weight_threshold = 2; // 获取当前购物车总重量 $current_cart_weight = WC()->cart->get_cart_contents_weight(); // 购物车总重量未达免邮门槛时展示提示 if ( $current_cart_weight < $free_shipping_weight_threshold ) { // 计算还差的重量,因单件1kg,即还差的件数 $need_more_count = $free_shipping_weight_threshold - $current_cart_weight; $added_text = sprintf( '您只需再购买 %s 件即可获得免运费', $need_more_count ); // 跳转店铺页链接 $return_to = wc_get_page_permalink( 'shop' ); // 拼接提示内容+按钮 $notice = sprintf( '<a href="%s" class="button wc-forward">%s</a> %s', esc_url( $return_to ), '继续购物', $added_text ); wc_print_notice( $notice, 'notice' ); } }
- 后续如果修改免运费的重量门槛,直接修改
$free_shipping_weight_threshold的数值即可 - 因站点规则是单件商品固定1kg,所以重量差值直接等于需要加购的商品件数,无需额外编写件数统计逻辑
内容的提问来源于stack exchange,提问作者Antonio Junior
相关产品推荐
相关产品推荐

