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

WooCommerce购物车与结账页Shipping文本修改及钩子使用咨询

问题解答

你提供的两段代码均无法生效,选择的钩子也不适用于你的需求。

错误原因

  • 你提到的woocommerce_review_order、woocommerce_review_order_after_order_total均为动作(action)钩子,仅用于向指定位置插入输出内容,无法修改已有文本,也不能通过add_filter挂载。
  • 两段代码中使用的woocommerce_checkout_review_order钩子不存在,挂载后不会触发执行。
  • 第一段代码的回调函数直接返回字符串,不符合过滤钩子的传参逻辑;第二段代码试图修改不存在的$fields['Expedition']数组项,逻辑错误。

正确实现方案

推荐使用WordPress原生文本过滤钩子实现,兼容性最强,不需要适配主题自定义结构:

add_filter( 'gettext', 'custom_shipping_label_modify', 20, 3 );
function custom_shipping_label_modify( $translated_text, $original_text, $text_domain ) {
    // 仅修改WooCommerce输出的文本,避免全局误替换
    if ( $text_domain !== 'woocommerce' ) {
        return $translated_text;
    }
    // 匹配你当前页面显示的配送标签文本,可根据实际情况替换为'Shipping'
    if ( trim( $translated_text ) === 'Expédition' ) {
        return 'Expedition, après 25% de prise en charge';
    }
    return $translated_text;
}

如果需要仅在结算页生效,可在函数中增加页面判断:

add_filter( 'gettext', 'custom_shipping_label_modify', 20, 3 );
function custom_shipping_label_modify( $translated_text, $original_text, $text_domain ) {
    // 仅在结算页、且为WooCommerce文本时生效
    if ( !is_checkout() || $text_domain !== 'woocommerce' ) {
        return $translated_text;
    }
    if ( trim( $translated_text ) === 'Expédition' ) {
        return 'Expedition, après 25% de prise en charge';
    }
    return $translated_text;
}

将上述代码添加到你当前Babystreet主题的functions.php文件末尾,或者使用代码片段插件插入即可生效。

原有钩子适用场景说明

如果你后续需要在订单汇总区域插入自定义内容,可使用对应动作钩子:

  • woocommerce_review_order:在整个订单汇总区块最前面插入内容
  • woocommerce_review_order_after_order_total:在订单总金额行之后插入内容

内容的提问来源于stack exchange,提问作者Abla-vêtement-enfant.fr

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 22:45:03