将用户角色作为自定义元数据添加到 WooCommerce 订单

Add a user-role as custom meta data to WooCommerce orders

在 WooCommerce 中,我想知道是否可以使用 user_role 元键将用户角色作为自定义字段保存到订单 (自定义元数据),例如在此屏幕截图中:

欢迎任何帮助。

以下将添加用户角色作为自定义订单元数据:

// Add the user roles as order meta data
add_action( 'woocommerce_checkout_create_order', 'add_user_roles_to_order_meta_data', 10, 2 );
function add_user_roles_to_order_meta_data( $order, $data ) {
    if( $order->get_user_id() > 0 ) {
        $user = $order->get_user();
        $user_role = reset($user->roles)

        $order->update_meta_data( 'user_role', $user_role );
    }
}

代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。

要从 WC_Order 对象 $order 变量中获取用户角色,您将使用:

$user_role = $order->get_meta('user_role');

或从订单Id $order_id变量:

$user_role = get_post_meta($order_id, 'user_role', true);