Добавить роль пользователя в качестве пользовательских метаданных в заказы WooCommerce - PullRequest
0 голосов
/ 23 апреля 2019

В WooCommerce мне интересно, возможно ли сохранить роль пользователя в качестве настраиваемого поля в порядке (пользовательские метаданные) с использованием мета-ключа user_role, как на скриншоте:

enter image description here

Любая помощь приветствуется.

1 Ответ

1 голос
/ 23 апреля 2019

Следующее добавит роли пользователя в качестве метаданных пользовательского заказа:

// 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...