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

WooCommerce根据配送方式、国家自定义订单完成邮件内容

WooCommerce 订单完成邮件自定义文本(按配送方式/区域)

关于Flat rate的疑问

WooCommerce里默认的「Flat rate」就是固定费率配送方式,部分场景下确实会被称为「Fixed rate」,二者指的是同一个东西。

完善后的代码(覆盖所有规则)

add_action( 'woocommerce_email_order_details', 'custom_completed_order_email_text', 10, 4 );
function custom_completed_order_email_text( $order, $sent_to_admin, $plain_text, $email ) {
    // 仅针对客户的订单完成邮件
    if( 'customer_completed_order' !== $email->id ) return;

    // 获取订单配送国家(ISO两位代码,爱沙尼亚为EE)
    $shipping_country = $order->get_shipping_country();
    // 替换成你实际需要的自定义文本
    $custom_text_1 = "<p><strong>自定义文本1内容</strong></p>";
    $custom_text_2 = "<p><strong>自定义文本2内容</strong></p>";
    $custom_text_3 = "<p><strong>自定义文本3内容</strong></p>";

    foreach( $order->get_items('shipping') as $shipping_item ){
        $shipping_rate_id = $shipping_item->get_method_id();
        $method_array = explode(':', $shipping_rate_id );
        $shipping_method_id = reset($method_array);

        // 规则4:所有Flat rate配送方式,优先级最高
        if( 'flat_rate' === $shipping_method_id ){
            echo $custom_text_3;
            break;
        }

        // 规则1:爱沙尼亚 + Local pickup
        if( 'EE' === $shipping_country && 'local_pickup' === $shipping_method_id ){
            echo $custom_text_1;
            break;
        }

        // 规则3:爱沙尼亚境外 且 非Flat rate(已排除Flat rate,直接判断国家)
        if( 'EE' !== $shipping_country ){
            echo $custom_text_2;
            break;
        }

        // 规则2:爱沙尼亚+其他配送方式,无需额外输出,保留原邮件内容
    }
}

代码逻辑说明

  • 先过滤掉非客户订单完成的邮件,避免在其他通知里触发
  • 通过get_shipping_country()获取配送国家的ISO代码,爱沙尼亚对应EE
  • 提前定义三个自定义文本变量,直接替换成你需要的内容即可
  • 按规则优先级处理:Flat rate规则优先级最高(覆盖所有区域);接着处理爱沙尼亚本地自提;再处理境外非Flat rate的情况;最后爱沙尼亚其他配送方式直接保留原邮件内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 06:33:29