- Добавить настраиваемое поле с помощью фильтра woocommerce_checkout_fields (или вызвав woocommerce_form_field() в определенном месте шаблона).
- Сохранить данные с помощью действия woocommerce_checkout_create_order, функции $update_post_meta(), и доступ к глобальному $_POST.
- Добавить настраиваемое поле с помощью woocommerce_register_additional_checkout_field() во время действия woocommerce_init.
- Сохранить данные, вызвав $wc_object->update_meta_data() внутри действия, привязанного к woocommerce_set_additional_field_value.
Мой вопрос:
Есть ли в настоящее время какой-либо другой способ добавить настраиваемые поля, особенно поле , в блок оформления заказа, как мы могли бы сделать в классическом случае, например:
add_filter('woocommerce_checkout_fields', function ($fields) {
$fields['billing']['my_custom_field'] = array(
'label' => 'some label',
'placeholder' => 'placeholder',
'required' => true,
'class' => array('form-row-wide'),
'clear' => true,
'hidden' => true
);
return $fields;
}, 20);
а затем:
add_action('woocommerce_checkout_create_order', function($order) {
if($_POST['my_custom_field']) {
$order->update_meta_data('my_custom_meta_data', $_POST['my_custom_field']);
$order->save();
}
});
Подробнее здесь: https://stackoverflow.com/questions/798 ... out-blocks
Мобильная версия