Чтобы сохранить значение поля выбора количества часов при использовании $user_id, вам нужно получить значение этого поля из массива $_POST и сохранить его в мета-поле пользователя с помощью функции update_user_meta(). Для того, чтобы получить значение поля, вы можете использовать $_POST['global_ex_hour_vendor'], так как имя поля в HTML-коде задано как name="global_ex_hour_vendor". Вот как вы можете изменить функцию save_field_delivery_express():
//save the field in database
add_action('mvx_save_custom_store', 'save_field_delivery_express', 10, 1);
function save_field_delivery_express($user_id){
$vendor_delivery_express = $_POST['_vendor_delivery_express'];
update_user_meta($user_id, '_vendor_delivery_express', $vendor_delivery_express);
$express_delivery_hour_vendor = isset($_POST['global_ex_hour_vendor']) ? sanitize_text_field($_POST['global_ex_hour_vendor']) : '';
update_user_meta($user_id,'global_ex_hour_vendor', $express_delivery_hour_vendor);
}
В этом коде мы получаем значение поля global_ex_hour_vendor с помощью $_POST['global_ex_hour_vendor'], затем используем функцию sanitize_text_field() для очистки этого значения от потенциально опасных символов и сохраняем его в мета-поле пользователя с помощью update_user_meta(). Обратите внимание, что мы сначала проверяем, установлено ли значение global_ex_hour_vendor в $_POST, используя isset(), чтобы избежать ошибки, если значение не установлено.
Надеюсь, это поможет вам сохранить значение поля при использовании $user_id.