Для добавления дополнительных полей в адрес доставки на странице оформления заказа в WooCommerce вам понадобится использовать хуки и фильтры WordPress. Вот пошаговое руководство, как это сделать:
### Шаг 1: Добавление дополнительных полей
Чтобы добавить новые поля в адрес доставки, вы можете воспользоваться хуком woocommerce_default_address_fields
. Например, вы можете добавить поле для ввода номера квартиры:
function custom_override_default_address_fields( $address_fields ) { $address_fields['apartment_number'] = array( 'label' => 'Apartment Number', 'required' => false, 'class' => array('form-row-wide'), 'clear' => true ); return $address_fields; } add_filter( 'woocommerce_default_address_fields', 'custom_override_default_address_fields' );
### Шаг 2: Сохранение значений полей
Чтобы сохранить значения добавленных вами полей, вам нужно воспользоваться хуком woocommerce_checkout_update_order_meta
. Например, сохраним значение поля "Apartment Number":
function custom_save_apartment_number( $order_id ) { update_post_meta( $order_id, 'Apartment Number', $_POST['apartment_number'] ); } add_action( 'woocommerce_checkout_update_order_meta', 'custom_save_apartment_number' );
### Шаг 3: Отображение в админке
Чтобы отображать данные, введенные в новые поля в админке, можно воспользоваться хуком woocommerce_admin_order_data_after_shipping_address
:
function custom_display_apartment_number( $order ) { echo '<p><strong>Apartment Number:</strong> ' . get_post_meta( $order->get_id(), 'Apartment Number', true ) . '</p>'; } add_action( 'woocommerce_admin_order_data_after_shipping_address', 'custom_display_apartment_number' );
После выполнения этих шагов, вы сможете добавлять, сохранять и отображать дополнительные поля в адресе доставки на странице оформления заказа и в админке WooCommerce. Не забудьте проверить и настроить стили для новых полей с помощью CSS.