You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据购物车金额修改WooCommerce自提配送方式标题?

解决方案:为符合条件的自提配送方式添加折扣标识

你可以通过WooCommerce提供的woocommerce_shipping_method_title过滤器修改自提配送方式的标题,同时复用现有代码的判断逻辑,确保只有折扣规则生效时才添加“5% discount”字样。

以下是整合后的完整代码(保留原有折扣功能,新增标题修改逻辑):

// 原有的自提折扣功能
function local_pickup_discount( $cart ) {
    if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return;

    $chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
    $carrito_total = WC()->cart->get_cart_contents_total();
    $chosen_shipping_no_ajax = $chosen_methods[0];
    
    if ( 0 === strpos( $chosen_shipping_no_ajax, 'local_pickup' ) && $carrito_total < 60000) {
        $discount = $cart->subtotal * 0.05;
        $cart->add_fee( __( 'Descuento por retiro en sucursal', 'yourtext-domain' ) , -$discount );
    }
}
add_action( 'woocommerce_cart_calculate_fees', 'local_pickup_discount');

// 新增:修改自提配送方式标题
function modify_local_pickup_title( $title, $method ) {
    // 仅处理自提配送方式
    if ( strpos( $method->id, 'local_pickup' ) === false ) {
        return $title;
    }

    // 获取当前选中的配送方式和购物车总额
    $chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
    $carrito_total = WC()->cart->get_cart_contents_total();
    
    // 匹配折扣生效条件:选中自提且购物车总额小于60000
    if ( ! empty( $chosen_methods ) && 0 === strpos( $chosen_methods[0], 'local_pickup' ) && $carrito_total < 60000 ) {
        $title .= ' (5% discount)';
    }

    return $title;
}
add_filter( 'woocommerce_shipping_method_title', 'modify_local_pickup_title', 10, 2 );

代码说明:

  1. 原有折扣函数优化:添加is_admin() && ! defined( 'DOING_AJAX' )判断,避免后台不必要的执行,提升性能。
  2. 标题修改逻辑:
    • 先判断当前处理的是否为自提配送方式,不是则直接返回原标题。
    • 复用原有条件判断(选中自提+购物车总额<60000),符合条件时给标题追加“(5% discount)”。
    • 通过woocommerce_shipping_method_title过滤器,确保在购物车、结算页等所有显示配送方式的地方生效。

使用方法:

将上述代码添加到当前WordPress主题的functions.php文件末尾,或者使用自定义代码插件(如Code Snippets)添加即可。

内容的提问来源于stack exchange,提问作者Diego

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 03:45:26