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

如何修改WooCommerce新订单管理员通知邮件中“Shipping”为“Handling fee”

WooCommerce 全局将"Shipping"替换为"Handling fee"实现方案

方案1:全站全场景统一替换(最适配你的需求)

你的业务完全不需要配送相关表述,直接用WooCommerce全局文本翻译钩子覆盖所有场景即可,结账页、订单详情页、邮件通知、后台订单页都会统一生效,代码如下:

add_filter( 'gettext', 'custom_rename_shipping_to_handling_fee', 10, 3 );
add_filter( 'ngettext', 'custom_rename_shipping_to_handling_fee', 10, 3 );
function custom_rename_shipping_to_handling_fee( $translated, $original, $domain ) {
    // 仅作用于WooCommerce相关文本
    if ( $domain !== 'woocommerce' ) {
        return $translated;
    }
    // 匹配所有要替换的Shipping相关表述,可根据实际使用场景新增匹配项
    $replace_map = [
        'Shipping' => 'Handling fee',
        'Shipping:' => 'Handling fee:',
        'Shipping cost' => 'Handling fee cost',
        'Flat rate shipping' => 'Flat rate handling fee'
    ];
    if ( isset( $replace_map[ $original ] ) ) {
        return $replace_map[ $original ];
    }
    // 兼容大小写变体匹配
    if ( isset( $replace_map[ ucfirst( strtolower( $original ) ) ] ) ) {
        return $replace_map[ ucfirst( strtolower( $original ) ) ];
    }
    return $translated;
}

注:该方案会覆盖所有WooCommerce输出的对应文本,你之前添加的woocommerce_shipping_package_name钩子可以直接移除,避免重复定义。

方案2:仅修改邮件通知场景的表述(不需要全局替换可选用)

如果你只需要调整邮件里的文本,单独添加订单邮件的行项目名称钩子即可:

add_filter( 'woocommerce_order_shipping_to_display', 'custom_rename_shipping_in_emails', 10, 2 );
function custom_rename_shipping_in_emails( $shipping_html, $order ) {
    return str_replace( 'Shipping', 'Handling fee', $shipping_html );
}

说明

你之前使用的woocommerce_shipping_package_name钩子仅作用于结账/购物车页的配送包名称,不会覆盖订单生成后的邮件、订单详情页等场景,所以才会出现邮件里仍显示原文本的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:48:03