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

问题描述 投票:0回答:1

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

enter image description here

欢迎任何帮助。

php woocommerce custom-fields orders user-roles
1个回答
1
投票

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

// 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);
© www.soinside.com 2019 - 2024. All rights reserved.