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

WooCommerce特定用户角色创建订单添加客户备注位置异常咨询

WooCommerce特定用户角色订单自动添加客户备注解决方案

问题原因

你之前的代码未达预期有两个核心问题:

  • add_order_note() 是用于添加后台订单操作备注的方法,即便设置第二个参数为true,也只是标记该备注对客户可见,依旧不属于结算页对应的「客户附言/备注」字段,不会显示在收货地址下方
  • add_order_note()的第二个参数是布尔值,你传入字符串'is_customer_note'属于参数格式错误,本身就无法生效

解决代码

直接修改为写入WooCommerce原生客户备注字段即可,完整优化后的代码如下:

add_action( 'woocommerce_new_order', 'add_customer_note_user_role', 10, 1 );
function add_customer_note_user_role( $order_id ) {
    $user_id = get_current_user_id();
    // 未登录用户直接跳过
    if ( !$user_id ) return;
    
    $user_info = get_userdata( $user_id );
    // 优化角色判断逻辑:兼容多角色用户,避免只取第一个角色导致的判断失效
    if ( in_array( 'administrator', $user_info->roles ) ) {
        $order = wc_get_order( $order_id );
        if ( !$order ) return;

        // 自定义备注内容
        $note = 'This is the message';
        
        // 直接设置订单的客户备注字段
        $order->set_customer_note( $note );
        
        // 保存数据
        $order->save();
    }
}

效果说明

修改后设置的内容会直接写入WooCommerce原生客户备注字段,默认展示在订单详情页收货地址下方,对接ERP的API抓取customer_note字段即可正常获取该值完成同步。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 14:54:09