Следующее добавит роли пользователя в качестве метаданных пользовательского заказа:
// 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
Object $order
, вы будете использовать:
$user_role = $order->get_meta('user_role');
Или из идентификатора заказа $order_id
переменная:
$user_role = get_post_meta($order_id, 'user_role', true);